特殊許可權
suid:執行某程式時,相應程序的屬主是程式檔案自身的屬主,而不是啟動使用者。
sgid:執行某程式時,相應程序的屬組是程式檔案自身的屬組,而不是啟動使用者所屬的基本組。
sticky:在乙個公共目錄,每個使用者都可以建立檔案,能刪除自己的檔案,但不能刪除別人的檔案
修改檔案的特殊許可權
chmod u+s file:給檔案新增suid許可權
chmod u-s file:給檔案刪除suid許可權
chmod g+s file:給檔案新增sgid許可權
chmod g-s file:給檔案刪除sgid許可權
chmod o+t dir:給目錄增加sticky許可權
chmod o-t dir:給目錄刪除sticky許可權
例子:chmod 1755 /back/test:帶sticky許可權的755檔案
chmod 2755 /back/test:帶sgid許可權的755檔案
chmod 3755 /back/test:帶sticky和sgid許可權的755檔案
chmod 4755 /back/test:帶sgid和suid許可權的755檔案
chmod 5755 /back/test:帶sticky和suid許可權的755檔案
chmod 6755 /back/test:帶sticky和suid以及sgid許可權的755檔案
因此umask的0022中第一位0就代表的是特殊許可權。
練習:建立乙個目錄,讓user01,user02,user03都有寫的許可權,並且都可以編輯另外的使用者建立的檔案,但是不可刪除別人建立的檔案。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@liang-study ~]
# mkdir /home/project #建立公用目錄
[root@liang-study ~]
# useradd user01 #建立使用者
[root@liang-study ~]
# useradd user02
[root@liang-study ~]
# useradd user03
[root@liang-study ~]
# groupadd mygroup #建立附加組
[root@liang-study ~]
# usermod -a -g mygroup user01 #將使用者新增至附加組
[root@liang-study ~]
# usermod -a -g mygroup user02
[root@liang-study ~]
# usermod -a -g mygroup user03
[root@liang-study ~]
# id user01 #驗證新增是否成功
uid=5001(user01) gid=5001(user01)
groups
=5001(user01),5004(mygroup)
[root@liang-study ~]
# chown :mygroup /home/project/ #修改目錄所屬組為附加組
[root@liang-study home]
# chmod g+s /home/project/ #給公用目錄新增sgid許可權
[user02@liang-study project]$ ll
#使用user01-03建立的檔案的屬組就是目錄的所屬組mygroup
total 4
-rw-rw-r-- 1 user01 mygroup 22 dec 22 11:26 user01.txt
-rw-rw-r-- 1 user02 mygroup 0 dec 22 11:26 user02.txt
#此時,user01登入此目錄就可以修改其他檔案,也可以刪除。
[root@liang-study project]
# chmod o+t /home/project/ -r #新增sticky許可權
[root@liang-study home]
# ls -ld /home/project/
drwxrwsr-t 2 root mygroup 4096 dec 22 11:26
/home/project/
#至此,完成實驗
facl:file system access control list
利用檔案擴充套件屬性儲存額外的訪問控制許可權,acl為現有許可權機制的延伸,在現有機制的三個基本設定(owner、group、other)的基礎上加入了對某指定使用者或群組的訪問許可權設定。
facl可以對某個檔案設定該檔案具體的某些使用者的許可權,意思就是通過facl可以對乙個檔案許可權做擴充套件,可以不同的使用者對某個檔案有不同的許可權。如讓tom使用者對jerry建立的檔案有讀寫許可權。
setfacl
-m:設定額外訪問控制列表
u:uid:perm file 設定指定使用者對file有指定許可權
d:uid:perm dir 設定指定使用者對目錄的指定許可權,預設在此目錄建立的檔案都會繼承facl
g:gid:perm file 設定指定組對file有指定許可權
例:setfacl -m u:hoodop:rw /tmp/test.txt 新增hoodop使用者對test.txt擁有讀寫許可權。
-x:取消額外訪問控制列表
--mask:設定預設mask許可權
getfacl file:獲取facl許可權
新增facl許可權後的許可權應用順序
owner-->facl中的user-->group-->facl中的group-->other
Linux 檔案許可權及特殊許可權管理
第一位指檔案型別,常見檔案型別有 普通檔案 d 目錄檔案 b 塊裝置檔案 block c 字元裝置檔案 character p 命令管道檔案 pipe s 套接字檔案 socket 後面的9位指檔案許可權 每三位一組,前三位是檔案所有者 u 中間三位指檔案所屬組 g 後三位指其他使用者 o 檔案的大...
Linux檔案特殊許可權
linux中檔案除了r w x這三個讀 寫 執行的許可權還有特殊許可權 s t suid許可權 當s這個標誌出現在檔案所有者的x許可權上時 如 rwsr xr x 則被稱為set uid,簡稱suid許可權。suid限制 1 suid許可權僅對二進位制程式 可執行程式 有效。2 執行者對於該程式需要...
Linux檔案特殊許可權
檔案特殊許可權set uid set gid sticky bit 1 set uid 該許可權針對二進位制可執行檔案,使檔案在執行階段具有檔案所有者的許可權。比如 passwd具有該許可權 chmod u s filename filename必須是二進位制檔案 2 set gid 改許可權針對目...