特殊权限(suid sticky acl mask)

1.suid

1. 普通用户可不可以修改密码?

答:是可以的,可以修改自己的密码

2. /etc/shadow 文件的作用是什么?

答:存储用户密码的文件

3. 普通用户是否可以修改/etc/shadow 文件?

答:不可以,因为这个文件对于普通用户来说,没有任何权限,所以不能读取,也不能写入。

4. 那么普通用户,为什么可以修改密码?

答:

①因为使用了passwd 这个命令

②passwd命令在属主权限位上,原本是x权限,变成了s权限

③s权限在属主权限位,又叫做SetUID权限,简称SUID

④作用:因为在使用有SUID权限的文件或命令时,会以该文件的属主身份去执行该命令。


SUID 作用详解

概念:只要一个命令文件在属主权限位上的x变成s的话,那么其它用户在执行这个命令文件时,就会以该命令文件的属主用户身份去执行。

此处的s表示当使用这个命令程序时,把当前用户当成文件的所属主,使用命令的时候,把当前用户当成文件的主人。

授权suid

方式:chmod  u+s   filename

实例:

特殊权限(suid sticky acl mask)_第1张图片

2.sticky  bit

(粘滞位)

具有写权限的目录,通常用户可以删除该目录中的任何文件,无论该文件的权限或拥有权。

在目录设置sticky位,只有文件的所有者或root可以删除该文件

sticky设置在文件上毫无意义

授权方式

chmod  o+t  filename

chmod  o-t   filename

小问题:

权限中多了个t  是什么意思

除了文件夹所有者、超级管理员,其他人不能删除文件

3.ACL访问控制列表

实现灵活的权限管理     除了文件的所有者、所属组和其他人,可以对更多的用户设置权限

用法: setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ...
-m,       --modify-acl 更改文件的访问控制列表
-M,       --modify-file=file 从文件读取访问控制列表条目更改
-x,       --remove=acl 根据文件中访问控制列表移除条目
-X,       --remove-file=file 从文件读取访问控制列表条目并删除
-b,       --remove-all 删除所有扩展访问控制列表条目
-k,       --remove-default 移除默认访问控制列表
          --set=acl 设定替换当前的文件访问控制列表
          --set-file=file 从文件中读取访问控制列表条目设定
          --mask 重新计算有效权限掩码
-n,       --no-mask 不重新计算有效权限掩码
-d,       --default 应用到默认访问控制列表的操作
-R,       --recursive 递归操作子目录
-L,       --logical 依照系统逻辑,跟随符号链接
-P,       --physical 依照自然逻辑,不跟随符号链接
          --restore=file 恢复访问控制列表,和“getfacl -R”作用相反
          --test 测试模式,并不真正修改访问控制列表属性
-v,       --version           显示版本并退出
-h,       --help              显示本帮助信息

4.mask权限

mask只影响除所有者和other的之外的人和组的最大权限

mask需要与用户的权限进行逻辑和运算后,才能变成有效的权限

用户或组的设置必须存在与mask权限设定范围内才会生效

实例:

设置文件mask权限只有读

setfacl  -m  mask::r   fl.txt

你可能感兴趣的:(Linux,linux)