linux设置可执行权限 linux赋权限命令

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文件为例:
【linux设置可执行权限 linux赋权限命令】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权限


    推荐阅读