文件的特殊权限

chmod命令是个非常实用的命令,能够用来设置文件或目录的权限

chmod +权限 文件         SUID u+s

chmod -权限 文件         SGID g+s

chown 属性                   SBIT o+t

一、SUID:执行者临时获取命令的所有者的权限

例如:所有用户都可以执行passwd这个命令来修改自己的用户密码,而用户密码是保存在/etc/shadow文件中,仔细查看这个文件就会发现他的默认权限是000,也就是说除了root管理员以外,所有用户都没有查看或编辑该文件的权限

但是,在使用passwd命令时如果加入SUID特殊权限位,就可让普通用户临时获得程序所有者的权限,把变更的密码写入到shadow文件中

rwx     rws

rw-     rwS

二、SGID:

两个功能:1、让执行者临拥有属组的权限  2、在某个目录中创建的文件自动继承该目录的用户组

每个文件都有其归属的所有者与所属组,当创建或传送一个文件后,这个文件就会自动归属于执行这个操作的用户(即该用户是文件的所有者)。如果现在需要在一个部门内设置共享目录,让部门内的所有人员都能够读取目录中的内容,那么就可以创建部门共享木=目录后,在该目录上设置SGID特殊权限位。这样部门内的任何人员在里面创建的任何文件都会归属于该目录的所属组,而不再是自己的基本用户组。此时,我们用到的就是SGID的第二个功能,即在某个目录中创建的文件自动继承该目录的用户组(只可以对目录进行设置)

第一个·root是所有者;第二个root是所有组;

下面这句话是设置SGID特殊权限

使用上述命令设置好目录的777权限(确保普通用户可以向其中写入文件),并为该目录设置了SGID特殊权限位后,就可以切换至一个普通用户,然后尝试在该目录中创建文件,并查看新创建的文件是否会继承新创建的文件所在的目录的所属组名称

三、SBIT:确保用户只能删除自己的文件,不能删除别人的文件

原文地址:https://www.cnblogs.com/xiaoqing-ing/p/14392837.html