linux基础命令之文件权限的管理及ACL的扩展

    xiaoxiao2021-03-26  40

    Linux文件权限的管理

    文件:

    查看文件权限 #ll 文件名

    显示:- rwx r-x r-x root root filename

    从左往右依次表示(以空格作为分隔)

    1.     类型,-表示文件,d表示目录

    2.     拥有者权限 egroot

    3.     所属组权限 egroot

    4.     其他人权限 eg:普通用户

    5.     拥有者

    6.     属组

    7.     文件名

    其中r表示read,可读,可以查看,不能更改删除;w表示write,可写,可插入修改,x表示可执行,一般指的是脚本文件

    目录

    r表示可读,即可以看到目录里的内容 #ls

    w表示可写,建文件,删除,移动等操作 #touch mkdir rm  mv  cp

    x表示可进入

     

    用数字表示权限的表示方法

                                                              二进制  

    0.     代表无权限                               

    1.     x可执行                                    1   001     --x

    2.     w可写                                      2   010     -w-

    3.     wx可执行可写                          3   011     -wx

    4.     r可读                                        4    100     r--

    5.     r+x可读可执行                         5    101     r-x

    6.     r+w可读可写                            6    110     rw-

    7.     rwx可读可写可执行                  7    111     rwx

    eg#chmod 622文件名

     

    修改文件权限的相关命令

    #chmod 【参数】

    -a 表示所有者的权限

    -u 表示拥有组的权限user

    -g 表示组的权限group

    -o 表示其他人other

    可以使用运算符来设置权限-+=

    Eg #chmod u-wa.txt

           #chmod g+x a.txt

           #chmod o=r a.txt

           #chmod a+x a.txt

     

    查看目录权限#ll –d目录

    一次性修改多个权限 eg#chmod u=rwx

    修改文件的所属主组

    语法   #chown  usergroup 文件名

    Eg

    1.同时修改属主和属组   #chown ab c.txt

    2,修改属主                 #chown  daemon c.txt

    3.修改属组                   #chown  bin   c.txt

    -R表示递归,即目录下所有的内容全部更改,否则只修改目录

    Eg#chmod u-w cpu/ -R

    一个文件只有读的权限,拥有者是可以写这个文件的,可以正常写入,但是保存时用:wq!

     

    linux系统创建之初,为了安全起见,任何用户所创建文件的都没有可执行的权限x,文件的权限为777-111=666,然而实际的权限为644,这是因为有权限补码的存在

    设置文件默认权限的补码umaskumask,拿走的意思,就好比文件的权限是666umask=022,剩下的就是文件的权限644

    权限是00000的位置代表

    第一个0 代表文件的特殊权限

    第二个0 代表文件所有者

    第三个0 代表所有组

    第四个0 代表 其他人

    查看当前umask      #umask

    一般默认,文件的权限是644,目录的权限是755

    如何去计算文件的权限:文件默认的权限是权限 与 umask的取反做“与”运算

    查看文件的路径 #which 文件名

    特殊权限

    SUID (用户)——限定:智能设置在二进制可执行程序上面,对目录文本设置无效

                  ——功能:程序运行时的权限从执行者变更成程序的拥有者

    转换身份eg:把普通用户转换成root身份

                        #chmodas /bin/less

    SGID ()——限定:既可以给二进制可执行程序设置,也可以给目录设置

    ——功能:在设置了SGID权限的目录下建立文件时,新创建的文件的所属组会继承上级目录的所属组

    Eg#chmod g+s目录/

    Stickbit 粘滞位 ——限定:只作用于目录

                          ——功能:目录下创建的文件只有root,文件创建者,目录所有者才能删除,保证文件只有本人才能删除

                 Eg#chmod  1777目录/

     

    ACL的使用

    ACLAccess Control ListACL可以针对单个用户,单个文件或目录来进行rwx的权限设定,特别适用于需要特殊权限的使用情况

    查看是否支持ACL  #dumpe2fs /dev/sda1 | grep acl

    如果不支持,则挂载acl #mount –o remount,acl /dev/sda1

     

    文件:

    查看文件属性  #getfacl  文件名

    设置acl       #setfacl  -m u:用户:rw   文件名

    目录:

    设置acl,其中-R一定要在-m之前,表示目录下所有的文件

    #setfacl -R –m u:用户:rw 目录

    删除ACL

    #setfacl -x u:用户 文件名      删除某用户

    删除所有用户的acl权限   #setfacl  -b 文件名

     

    创建一个root都无法删除的文件

    Linux文件系统扩展属性:chattr lsattr

    选项说明:+a 只能追加内容

                  +i  不能被修改

    Eg#chattr +a 文件名

            #chattr +i  文件名

     

     

    转载请注明原文地址: https://ju.6miu.com/read-350018.html

    最新回复(0)