linux文件的特殊权限——SUID、SGID、SBIT

在复杂的生产环境中,单纯的设置文件的rwx权限无法满足我们对安全和灵活行的需求,因此便会有了SUID、SGID和SBIT的特殊权限。

1、SUID:这是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限(仅对拥有执行权限的二进制程序有效)。例如:所有用户都可以使用passwd命令来修改自己的用户密码,而用户的密码保存在、/etc/shadow文件中。然而这个文件的权限是000,也就是说只有root管理员外所有用户都没有查看或编辑该文件的权限。但是在使用passwd命令时加上SUID的特殊权限位,就可以让普通用户临时得到程序所有者的身份,把变更的密码信息写入到/etc/shadow中。

2、SGID:它有两种功能。

1)让执行者临时拥有属组的权限(对拥有执行权限的二进制程序进行设置);

2)在某个目录中创建的文件自动继承该目录的用户组(只可以对目录进行设置)。

3、SBIT:这种特殊权限设置之后可以确保只有用户自己和root用户能删除该文件,而不能被其他用户删除。

特殊权限设置方法:

chmod u+s filename (suid)

相关推荐