行业新闻
linux赋权限命令(linux设置可执行权限)
2022-02-16 19:26  浏览:1

linux的隐藏权限

chattr +i /sec/Classified

使文件不能被修改与删除,对passwd、shadow、group、gshadow等重要文件可设置该属性,-i移除属性。

chattr +a /sec/Classified 

使文件不能被修改与删除,但可以追加内容,对重要的日志文件可以设置该属性,-a移除属性。

lsattr /sec/Classified    #显示隐藏属性

chattr +i 示例

chattr +a 示例

linux的三种特殊权限

1、SBIT(Sticky Bit):只对目录有效,一个目录如果有SBIT权限,那么该目录下的文件,只有该文件的拥有者和root才能删除,如/tmp目录,它的权限是:

tmp目录权限

t出现在了其他人的x权限位置,表示该目录有SBIT权限。该目录其他人具有rw权限,理论上该目录下的文件任何人都可以删除。但由于SBIT权限的存在,所以该目录的文件只有拥有者和root才能删除或移动。以tmp目录下的file1文件为例:

file1文件权限

file1文件的拥有者是sindy,那么该文件只能被root和sindy这两个用户删除。

参考命令:

chmod o+t  /share    #为share目录赋于SBIT权限,在该目录下用户只能删除自己创建的文件
chmod o-t  /share    #取消SBIT权限 

2、SUID(Set UID):只对二进制文件有效,一个文件如果有SUID权限,那么其他人在执行该文件时,可以临时获取到该文件的拥有者权限。以/usr/bin/passwd文件为例:

passwd文件权限

s出现在了拥有者的x权限位置,表示该文件有SUID权限,且其他人对该文件有x权限。由于SUID权限的存在,所以其他人在执行passwd命令时,会临时获取到root(拥有者是root)权限,进而可以对/etc/shadow文件进行写入操作。这也是为什么普通用户也能用passwd命令修改自己密码的缘故。

参考命令:

chmod u+s /script/setdns    #为文件setdns文件赋于SUID权限
chmod u-s /script/setdns     #取消SUID权限

3、SGID(Set GID):对二进制文件和目录都有效,一个文件如果有SGID权限,那么其他人在执行该文件时,可以临时获取到该文件所属组的权限。一个目录如果有SGID权限,那么在该目录下创建的文件、目录会继承父目录的所属组信息。以根下的一个work目录为例:

work目录权限

s出现在了目录所属组的x权限位置,表示该目录有SGID权限。由于SGID权限的存在,任何用户在该目录下创建的文件、目录的所属组都会是sindy组。

参考命令:

chmod g+s /work    #为work目录赋于SGID权限
chmod g-s /work     #取消SGID权限