[root@localhost cma]# pwd
/project/cma
[root@localhost cma]# chmod -R g+s /project/cma
[root@localhost cma]# ls -ld
drwxrwsr-x 2 root develop 4096 Jun 14 22:25 .
[root@localhost cma]#
注意了,出现了特殊权限位s,但是有时候可能会显示S。【如果是s说明这个权限位上以前是具有x权限的】
第四:利用sgid后,以后我们的项目组成员便可以在此目录下编辑其他成员的文件了。
[java02@localhost cma]$ ls -l
total 16
-rw-rwSr-- 1 java01 java01 0 Jun 14 22:24 01.java
-rw-rw-r-- 1 java01 develop 0 Jun 14 22:33 01.txt
-rw-rwSr-- 1 java02 java02 0 Jun 14 22:25 02.java
-rw-rw-r-- 1 java02 develop 0 Jun 14 22:33 02.txt
[java02@localhost cma]$
也就是说利用sgid可以帮我们达到这样的目的:
在目录下创建的文件的属组不在是用户的基本组,而是目录的属组。
4.关于sticky
此时此刻,我们的项目组成员已经可以相互编辑/project/cma下面的文件了,但是有个要求:我们希望用户只能删除自己的文件,而不可以删除别人的文件。这就要使用sticky了。
[root@localhost cma]# chmod -R o+t /project/cma
[java01@localhost cma]$ id
uid=5016(java01) gid=5016(java01) groups=5016(java01),5018(develop) context=root:system_r:unconfined_t:SystemLow-SystemHigh
[java01@localhost cma]$ rm 02.txt
rm: cannot remove `02.txt': Operation not permitted
5.串联
还记得umask吗,umask其实就是一个XYZW,四位数,其中X表示的就是suid/sgid/striky。
chmod xyzw file,其实同理。
000 nothing
001 only striky
010 only sgid
100 only suid
......










