您的位置:首页 > 运维架构 > Linux

Linux学习---文件特殊权限(SGID)

2016-08-26 14:14 489 查看
SetGID针对文件

1.    只有可执行文件才能设置SGID权限

2.    命令执行者要对该文件拥有x权限

3.    命令在执行时,组身份升级为该文件的所属组

4.    SetGID权限与SetUID一样,只在文件(程序)执行过程中有效

 

举例mlocate 命令

mlocate命令通过查找/var/lib/mlocate/mlocate.db文件中的缓存数据来查找文件位置,但是可以看出,/var/lib/mlocate/mlocate.db文件的other权限是---,普通用户没有rwx权限

bl@ubuntumma:~$ ls -l /usr/bin/mlocate
-rwxr-sr-x 1 root mlocate 39520 Jun 20  2013 /usr/bin/mlocate
 

bl@ubuntumma:~$ ls -l /var/lib/mlocate/mlocate.db
-rw-r----- 1 root mlocate 1889860 Aug 26 06:34 /var/lib/mlocate/mlocate.db

普通用户bl执行mlocate时,会得到mlocate文件的组权限,也就是说bl临时变成了mlocate文件所属组(mlocate组)的成员,而/var/lib/mlocate/mlocate.db文件的所属组也是mlocate组,并且/var/lib/mlocate/mlocate.db组权限是r--,也就是mlocate组的成员都可以查看/var/lib/mlocate/mlocate.db文件。这样,普通用户bl就可以通过mlocate命令查看/var/lib/mlocate/mlocate.db文件鸟。

 

SetGID针对目录

1. 普通用户bl需要拥有目录 testDir/的rx权限

2. bl在testDir/中的有效组会变成testDir/目录的所属组(testGroup)

3. bl在testDir/中新建文件的默认组都会属于testGroup,而不是bl的所属组

SetGID基本没鸟用,不用,不用

设置SetGID

2代表SGID

chmod 2755 文件名

chmod g+s 文件名
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: