Linux学习之——文件特殊权限(二)

来源:互联网 发布:java 写一个加法计算器 编辑:程序博客网 时间:2024/05/18 01:50

SetGID

SUID只能对文件来设置权限,而SGID则能针对文件和目录来设定权限
这里写图片描述
对于文件,和suid类似
例:最典型的就是locate命令
这里写图片描述
在按照文件名搜索相关文件的时候,它搜索的是数据库/var/lib/mlocate/mlocate.db
这里写图片描述
可以看到,普通用户没有权限。但因为locate命令有SGID权限,因此当任何用户拿这个命令去执行搜索的时候,它的组身份都会切换为mlocate这个组,而这个组是对该文件有读权限的。故而普通用户也可以执行这个命令来搜索数据库。
这里写图片描述
例子:首先在root权限下,在/tmp目录下建立test目录,并将权限设置成777
这里写图片描述
然后切换到普通用户sam,在/tmp目录下建立文件abc,可以看到abc文件的所有者和所属组都是sam
这里写图片描述
然后,切换回root用户,给test目录附上SGID权限,如下
这里写图片描述
然后再切换回sam,在test文件夹下创立新文件bcd,可以看到bcd的所属组变成了root
这里写图片描述
总结一下就是,如果一个目录有了SGID权限,则任何用户在这个目录下创建的文件的所属组都会变为root

0 0
原创粉丝点击