Linux权限管理ACL权限,文件特殊权限,chattr权限,(2)

2 SetGID
SetGID针对文件的作用:
只有可执行的二进制文件可以设定SGID权限,命令执行者要对该命令具有x执行权限,在执行命令的过程中,组身份升级为该程序文件的属组,执行完恢复
举个例子,我们看下locate命令

我们知道在执行locate命令的时候,是去查询数据库

Linux权限管理ACL权限,文件特殊权限,chattr权限,sudo权限


用户在执行locate命令的时候,组身份变为slocate组,而查询数据库时,slocate组具有读的权限,所有可以查询,查询完,恢复本身组的身份

SetGID针对目录的作用:
普通用户必须对此用户具有r和x权限,才能进入该目录,普通用户在此目录中的有效组会变成此名录的属组,若普通用户对此目录拥有w权限,那么新建的文件的默认属组是这个目录的数组

Linux权限管理ACL权限,文件特殊权限,chattr权限,sudo权限


我们看到dtest目录的属组权限是r-s,这个s就是SGID权限,有了这个之后,新建的abc文件的属组就是root了,而不是st2

设定SetGID
2代表SGID
chmod 2755 文件名
chmod g+s 文件名

取消SetGID
chmod 755 文件名
chmod g-s 文件名

3 Sticky BIT
SBIT粘着位的作用:
SBIT只对目录有效,普通用户对该目录拥有W和X权限,如果没有SBIT,由于用户有W
权限,可以随便删除该目录下的文件,一旦有了SBIT,就算用户有W权限,也不能随便删除其他用户从黄金的文件
设置SBIT
chmod 1755 目录名
chmod o+t 目录名
取消SBIT
chmod 755 目录名
chmod o-t 目录名

三 chattr权限
命令格式
chattr [+-=] 选项 文件或目录名
+增加权限
- 删除权限
= 等于某权限

选项
i:如果对文件设置i选项,那么不允许对文件删除,改名,也不能添加和修改数据

Linux权限管理ACL权限,文件特殊权限,chattr权限,sudo权限


lsattr是查看chattr属性
如果对目录设置i属性,那么只能修改该目录下的数据,不能新建和删除文件

a:如果对文件设置a属性,那么只能在文件中添加数据,不能修改也不能删除数据
如果对目录设置a属性,那么只允许在目录中建立和修改文件,不能删除文件。

四 sudo权限
把本来只有root可以执行的命令赋予普通用户
sudo的操作对象是系统命令
执行visudo命令

Linux权限管理ACL权限,文件特殊权限,chattr权限,sudo权限


Linux权限管理ACL权限,文件特殊权限,chattr权限,sudo权限


比如我现在想赋予st2用户重启服务器的命令
st2 ALL=/sbin/shutdown -r now

Linux权限管理ACL权限,文件特殊权限,chattr权限,sudo权限


然后我们切换到st2
可以用sudo -l查看可用的命令

那么在执行的时候
sudo shutdown -r now即可

好了,Linux权限管理ACL权限,文件特殊权限,chattr权限和sudo权限就总结到这里,如有问题,欢迎指正,谢谢。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14748.html