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

本文详细介绍了Linux文件权限的查看和修改方法,包括特殊权限和ACL的使用,以及如何通过umask设置默认权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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  文件名

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值