1、查看目录信息
[[email protected] ~]# ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 30768 2月 22 2012 /usr/bin/passwd
解释说明:
这个权限用数字表示 4755,而s的权限取决于它在哪里,在这它处于u的位置,也就是4
2、设置sgid(让普通用户拥有所属组的权限)
[[email protected] ~]# ls -l /bin/ls
-rwxr-xr-x 1 root root 117024 11月 22 2013 /bin/ls
[[email protected] ~]# chmod g+s /bin/ls
[[email protected] ~]# ls -l /bin/ls
-rwxr-sr-x 1 root root 117024 11月 22 2013 /bin/ls
3、举例
[[email protected] ~]# chmod g+s /bin/ls
[[email protected] ~]# ls -l /bin/ls
-rwxr-sr-x 1 root root 117024 11月 22 2013 /bin/ls
[[email protected] ~]# su - wyy
[[email protected] ~]$ ls /root
anaconda-ks.cfg install.log install.log.syslog
注:它和suid是类似的,它们可以让普通用户拥有所属主、所属组的临时权限;但是sgid不仅仅作用于二进制文件,而且还可以作用于目录。
4、举例(作用于目录)
[[email protected] ~]# cd /tmp
[[email protected] tmp]# mkdir 222
[[email protected] tmp]# chmod 777 222
#切换到普通用户下
[[email protected] tmp]# su - wyy
[[email protected] tmp]$ cd /tmp/222
[[email protected] 222]$ mkdir dir
[[email protected] 222]$ touch file
[[email protected] 222]$ ls -l
总用量 4
drwxrwxr-x 2 wyy wyy 4096 9月 20 22:34 dir
-rw-rw-r-- 1 wyy wyy 0 9月 20 22:34 file
#退出来,给222这个目录增加特殊权限
[[email protected] 222]$ logout
[[email protected] tmp]# chmod g+s 222
#再次切换到普通用户
[[email protected] tmp]# su - wyy
[[email protected] ~]$ cd /tmp/222
[[email protected] 222]$ mkdir dir2
[[email protected] 222]$ touch file2
[[email protected] 222]$ ls -l
总用量 8
drwxrwxr-x 2 wyy wyy 4096 9月 20 22:34 dir
drwxrwsr-x 2 wyy root 4096 9月 20 22:39 dir2
-rw-rw-r-- 1 wyy wyy 0 9月 20 22:34 file
-rw-rw-r-- 1 wyy root 0 9月 20 22:39 file2
解释说明:
如果把set_gid作用在目录上,会形成这样的效果,不管是谁创建子目录或者文件在这个目录下,那么创建的子目录或文件会拥有跟咱们这个增加set_gid权限的这个目录的所属组保持一致。
s在所属组这个位置上,用数字表示就是2。