特殊權限有suid,sgid,sticky
一、suid,運行某程序時,相應的進程的屬主是文件自身的屬主,而不是程序啓動者自身的屬主
chmod u+s files ,如果file原來有執行權限,則suid顯示爲小寫s,否則顯示爲大寫S
二、sgid,運行某程序時,相應的進程的屬組是文件自身的屬組,而不是程序啓動者自身的屬組
chmod g+s files ,如果file原來有執行權限,則sgid顯示爲小寫s,否則顯示爲大寫S
三、sticky,在一公共目錄中,自己可以創建、修改和刪除自已的文件,但不能刪除別人的文件
chmod o+t directory,如果directory原來有執行權限,則sticky顯示爲小寫t,否則顯示爲大寫T
同時suid,sgid和sticky有八種變化
000--111
例:
有同一開發團隊developteam,成員有user1,user2和user3,在同一項目projcet中,三個用戶之間可以查看和修改另外兩位的文件,但是不能刪除
1、創建三個用戶
[root@station01 ~]# useradd user1 [root@station01 ~]# useradd user2 [root@station01 ~]# useradd user3
2、創建/tmp/projcet文件夾和develop組,並設置組爲developteam
[root@station01 ~]# groupadd developteam [root@station01 ~]# mkdir /tmp/project [root@station01 ~]# chown -R :developteam /tmp/project/
3、爲用戶添加附加組
[root@station01 ~]# usermod -a -G developteam user1 [root@station01 ~]# usermod -a -G developteam user2 [root@station01 ~]# usermod -a -G developteam user3 [root@station01 ~]# chmod g+w /tmp/project/ [root@station01 ~]# chmod g+s /tmp/project/ [root@station01 ~]# id user1
4、添加sticky 權限
[root@station01 ~]# chmod o+t /tmp/project/