文件权限 缺乏、安全感 2022-05-19 09:19 289阅读 0赞 ## 1.文件权限存在的意义 ## 系统最底层安全设定方法之一,保证文件可以被可用的用户做相应操作 ## 2.文件权限的查看 ## > ls -l file/ll file \#查看文件权限 > > ls -ld dir/ll -d dir \#查看目录权限 ## ![20181129132355135.png][] ## ## 3.文件权限的读取 ## > \[kiosk@foundation77 Desktop\]$ ls -l 5 > \-rw-r--r--. 1 kiosk kiosk 4710 Jul 21 16:34 5 通过对文件权限的查看。我们可以看到结果由8个部分组成,详细信息看下面的解说: - | rw-r--r--. | 1 | kiosk | kiosk | 4710 | Jul 21 16:34 | 5 \[1\] \[2\] \[3\] \[4\] \[5\] \[6\] \[7\] \[8\] ### \[1\]文件的类型 ### \- \#空文件,或者文本 d \#目录 l \# 软连接 s \#socket套接字 b \#block块设备 c \#字符设备 ### \[2\]文件的权限 ### rw- | rw- | r-- 1 2 3 1.\[u\]文件拥有者对文件能做什么操作 2.\[g\]文件所有组对文件能做什么操作 3.\[o\]其他人能对文件做什么操作 ## \[3\] ## 对文件:文件硬连接个数(文件内容被记录的次数) 对目录:目录中子目录的个数 ### \[4\]文件的所有人 ### ### \[5\]文件所有组 ### ### \[6\] ### 对文件:文件大小 对目录:目录中子文件元数据(matedate可以理解为文件的属性)大小 ### \[7\]文件的内容被修改的时间 ### ### \[8\]文件的名称 ### ## 4.如何更改文件的所有人和所有组 ## > chown username file \#更改文件所有人 > > chgrp group file \#更改文件所有组 > > ![70][] > > chown -R username dir \#更改目录所有人 > chgrp -R group dir \# \#更改文件或目录所有组 > > ![20181129134447235.png][] ## 5.如何改变文件的权限 ## ### 1.对权限的理解 ### r:对文件:是否可以查看文件的内容 ----> cat file 对目录:是否可以查看目录中有什么子文件或者子目录 ---->ls dir w:对文件: 是否可以改变文件里面记录的字符 对目录: 是否可以对目录中子目录活字文件的元数据进行更改 x: 对文件: 是否可以通过文件名称调用文件内记录的程序 对目录: 是否可以进入目录 ### 2.更改方式 ### 1.chmod <u|g|o><+|-|=><r|w|x> file|dir (此种方法少用) > chmod u+x /mnt/file1 > chmod g-r /mnt/file2 > chmod ug-r /mnt/file3 > chmod u-r,g+x /mnt/file4 > chmod -r /mnt/file5 > chmod o=r-x /mnt/file6 ![201811291351558.png][] 2.数字表示法 > 7=rwx;6=rw-;5=r-x;4=r--;3=-wx;2=-w-;1=--x;0=--- > 例:r-x|r--|--x > chmod 541 /mnt/file1 ![70 1][] ## 6.umask值 ## umask值用于设置用户在创建文件时的默认权限,当我们在系统中创建目录或文件时,目录或文件所具有的默认权限就是由umask值决定的。 对于root用户,系统默认的umask值是0022;对于普通用户,系统默认的umask值是0002。执行umask命令可以查看当前用户的umask值。 umask值一共有4组数字,其中第1组数字用于定义特殊权限,我们一般不予考虑,与一般权限有关的是后3组数字。 默认情况下,对于目录,用户所能拥有的最大权限是777;对于文件,用户所能拥有的最大权限是目录的最大权限去掉执行权限,即666。因为x执行权限对于目录是必须的,没有执行权限就无法进入目录,而对于文件则不必默认赋予x执行权限。 对于root用户,他的umask值是022。当root用户创建目录时,默认的权限就是用最大权限777去掉相应位置的umask值权限,即对于所有者不必去掉任何权限,对于所属组要去掉w权限,对于其他用户也要去掉w权限,所以目录的默认权限就是755;当root用户创建文件时,默认的权限则是用最大权限666去掉相应位置的umask值,即文件的默认权限是644。 ![20181129135851922.png][] **修改umask值:** **1.临时修改**:直接 **umask + umask值**即可; **永久更改 umask** **vim /etc/profile \#\#系统配置文件** > 59 if \[ $UID -gt 199 \] && \[ "\`id -gn\`" = "\`id -un\`" \]; then > 60 umask 002 \#\#普通用户的umask > 61 else > 62 umask 022 \#\#超级用户umask > 63 fi **vim /etc/bashrc \#\#shell 配置文件** > 70 if \[ $UID -gt 199 \] && \[ "\`id -gn\`" = "\`id -un\`" \]; then > 71 umask 002 > 72 else > 73 umask 022 > 74 fi **注意 : 想要永久性的修改 umask 值 , 一定要重新读取两个配置文件后 , 才能生效(即如下操作:)** > **source /etc/profile \#\#让更改立即生效 > source /etc/bashrc** 考虑一下,如果将umask值设为0003,那么此时创建的目录或文件的默认权限是多少? 正确的结果应该是:目录的默认权限是774,文件的默认权限是664。在计算默认权限时,不应用最大权限直接减去umask值,而是将umask值所对应的相应位置的权限去掉,这样才能得到正确的结果。 /etc/profile和/etc/bashrc都可以用于设置用户登录系统时自动执行某些操作,他们的区别是/etc/profile只在用户第一次登录时被执行,而/etc/bashrc则在用户每次登录加载Bash Shell时都会被执行。 因而,如果是修改/etc/profile文件,将只对新创建的用户生效;而如果是修改/etc/bashrc文件,则对所有用户都生效。 ## 7.特殊权限 ## ### 1.sticky \#\#粘制位 ### 作用:只针对目录生效,当一个目录上有sticky权限时,所有用户在该目录下均可创建文件,但在这个目录中的文件只能被文件的所有者删除 > **设定方式: > chmod o+t > chmod 1xxx** ### 2.sgid \#\#强制位 ### 对文件:只针对与二进制可执行文件,当文件上有sgid时任何人执行此文件产生的进程都属于文件的组 对目录:当目录上有sgid权限时任何人在此目录中建立的文件都属于目录的所有组 > **设定方式 > chmod g+s file|dir > chmod 2xxx file|dir** ### 3.suid \#\#冒险位 ### 只针对与2进制可执行文件, 当文件上有suid时任何人执行这个文件中记的程序产生的进程都属于文件的所有人 > **设定方式** > > ** chmod u+s file > chmod 4xxx file** ## 8.acl权限列表 ## ### 1.作用 ### 传统的权限仅有三种身份 (owner,group, others) 搭配三种权限 (r,w,x), 并没有办法单纯的针对某一个使用者或某一个群组来设置特定的权限需求 , 此时就得要使用 ACL( 文件访问控制列表 ,Access Control List) 这个机制 ACL 因此目前 ACL 几乎已经默认加入在所有常见的 Linux 文件系统的挂载参数中 (ext2/ext3/ext4/xfs 等等 ), 但 rhel6.0以及之前的版本默认不支持 acl 的功能 (让特定的用户对特定的文件拥有特定的权限) ### 2.acl列表查看 ### ![20181129192232516.png][] **注释 : 第 11 位为' .' 时代表没有 acl 权限 ; 为 '+' 时代表有 acl 权限。** ** getfacl file** \#\#查看acl开启的文件的权限 (下图为没有ACL权限) ![20181129195816647.png][] (下面为有ACL权限时所显示的项) ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZvcmV2ZXJfd2Vu_size_16_color_FFFFFF_t_70][] 下面是各项代表的含义: > \# file: file \#\#文件名称 > \# owner: root \#\#文件拥有者 > \# group: root \#\#文件拥有组 > user::rw- \#\#文件拥有人的权限 > user:kiosk:rwx \#\#指定用户组的权利 > group::r-- \#\#文件拥有组的权利 > mask::rwx \#\#能赋予用户的最大权力 > other::r-- \#\#其他人的权限 ### 3.acl列表的管理 ### > **setfacl -m u:username:rwx file ** \#\#设定username对file拥有rwx权限 > **setfacl -m g:group:rwx file ** \#\#设定group组成员对file拥有rwx权限 > **setfal -x u:username file ** \#\#从acl列表中删除username > **setfacl -b file** \#\#关闭file上的acl列表 ### 此为目录的管理方法 ### > ### setfacl -m d:<u|g|m>:<username|groupname>:rwx 目录名 ### ### 4.mask值 ### > 在权限列表中mask标示能生效的权力值 > 当用chmod减小开启acl的文件权限时mask值会发生改变--->**chmod g-w westos** > > 如果要恢复mask值 --->**setfacl -m m:rw westos** ### 5.acl默认权限设定 ### > acl默认权限只针对目录设定 > acl权限只针对设定完成后新建立的文件或目录生效,而已经存在的文件是不会继承默认权限 > **setfacl -m d:u:student:rwx /mnt/westos** > > [20181129132355135.png]: /images/20220519/5e9df0f71b0b4a778c27fb96ced664cf.png [70]: /images/20220519/ea0eefe3cb1345248c195821397daee6.png [20181129134447235.png]: /images/20220519/09e33f28be274510aad59d8c7846d407.png [201811291351558.png]: /images/20220519/d78366240850496f95a37601d4374d4a.png [70 1]: /images/20220519/b67633f1e05f4a68986fe1fae3d5ba0e.png [20181129135851922.png]: /images/20220519/53664a0442314e4db282f3306b16806c.png [20181129192232516.png]: /images/20220519/a4d36e275766429cb87b9a86352bbe78.png [20181129195816647.png]: /images/20220519/83956060cbf04221bff8781c57aae157.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZvcmV2ZXJfd2Vu_size_16_color_FFFFFF_t_70]: /images/20220519/7d5bb5d9966a4878a18fa1b272ea1aab.png
相关 文件特殊权限 1. SetUID 只有可以执行的二进制文件才能设定SUID权限。 命令的执行者要对该可执行文件拥有x(执行)权限。 命令的执行者在执行该文件时,身份会 ╰半橙微兮°/ 2022年07月12日 04:50/ 0 赞/ 441 阅读
相关 文件权限管理 \\\\1.文件属性的查看\\\\ ls -l filename \-|rw-r--r--.|1| root| root| 46 |Oct 1 05:03 |file 超、凢脫俗/ 2022年06月07日 04:51/ 0 赞/ 503 阅读
相关 文件权限 查看文件权限ls -l 文件名 \-rw-r–r– 1 guest guest 8867 May 13 21:44 cache.tar 如上cache.rar的权限查看 r囧r小猫/ 2022年05月25日 11:17/ 0 赞/ 255 阅读
相关 文件权限 1.文件权限存在的意义 系统最底层安全设定方法之一,保证文件可以被可用的用户做相应操作 2.文件权限的查看 > ls -l file/ll file 缺乏、安全感/ 2022年05月19日 09:19/ 0 赞/ 290 阅读
相关 Linux文件权限 文件属性和权限 当我们在一个目录下执行ll或者ls -l时会得到类似一下的文件列表: ![在这里插入图片描述][20190107190528372.png] 这里 Myth丶恋晨/ 2022年03月29日 03:22/ 0 赞/ 376 阅读
相关 文件权限管理 1. chown 改变文件的拥有者,该命令只有root有权限. [jiangjian@localhost ~]$ chown root jenkins-2.16 亦凉/ 2022年02月23日 08:38/ 0 赞/ 565 阅读
相关 Linux 文件权限 一、基本权限 在 Linux 下,一般将文件的访问身份分为 3 个类别,分别是 owner(拥有者)、group(所属组)、others(其他身份),且对 3 种身份分别设置 蔚落/ 2022年02月04日 02:34/ 0 赞/ 421 阅读
相关 文件特殊权限 文章目录 一、SetUID 二、Sticky BIT 一、SetUID SetUID 也叫 SUID,它的特点如下: 只有可以执行的二进制程序 短命女/ 2022年01月13日 12:39/ 0 赞/ 350 阅读
相关 文件权限 ![1567093-20181230164619599-964816382.png][] 转载于:https://www.cnblogs.com/nangongyibi 末蓝、/ 2022年01月05日 12:25/ 0 赞/ 278 阅读
相关 文件权限 u+s suid 以拥有文件身份执行 g+s sgid 以拥有文件组的身份执行,创建文件与目录所有组匹配 o+t sticky 对目录具有写入权限的用户仅可以删除其拥... 朱雀/ 2021年04月24日 02:18/ 0 赞/ 570 阅读
还没有评论,来说两句吧...