預設權限
- umask 可以透過 umask 指令設定.
- 非受限的使用者 umask is 002
- 檔案權限為 664
- 目錄權限為 775
- root 的 umask 是 022
- 修改預設的權限
- 決定預設的存取權限 umask
- 目錄為 777(rwxrwxrwx) XOR umask值 = 建立的目錄權限
- 檔案為 666(rw-rw-rw-) XOR umask值 = 建立的檔案權限
-
- 計算時要用二進位計算,檔案最後一碼為don't care(忽略),umask對於檔案的x權限無意義.目錄則無此問題.
- 目錄為
- 111 111 111 (777)
- 000 010 010 (022)
- =============================
- 111 101 101 (rwxr-xr-x) --> Don't use number and - to calculate
- 檔案為
- 11- 11- 11- (666)
- 000 010 010 (022)
- =======================
- 110 100 100 (rw-r--r--) --> Don't use number and - to calculate
[root@server1 ~]# umask 022
[root@server1 ~]# mkdir a
[root@server1 ~]# touch aa
[root@server1 ~]# ls -l
drwxr-xr-x 2 root root 4096 Aug 17 13:52 a
-rw-r--r-- 1 root root 0 Aug 17 13:52 aa
- 目錄為
- 111 111 111 (777)
- 000 010 011 (023)
- =========================
- 111 101 100 (???)
- 檔案為
- 11- 11- 11- (644)
- 000 010 011 (023)
- =========================
- 110 100 100 (???)
[root@server1 ~]# umask 023
[root@server1 ~]# mkdir b
[root@server1 ~]# touch bb
[root@server1 ~]# ls -l
drwxr-xr-- 2 root root 4096 Aug 17 13:52 b
-rw-r--r-- 1 root root 0 Aug 17 13:53 bb
Special Permissions for Executables
- 3 種特殊的屬性
- s 與 t 的權限,是為了讓一般使用者在執行某些程式的時候, 能夠暫時的具有該程式擁有者的權限。
- t or T (1) Sticky bit
- 在具有 SBit 的目錄下,使用者若在該目錄下具有 w 及 x 的權限, 則當使用者在該目錄下建立檔案或目錄時,只有檔案擁有者與 root 才有權力刪除
- 如果將 A 目錄加上了 Sticky bit 的權限項目時, 則只能夠針對自己建立的檔案或目錄進行刪除/更名/移動等動作
- s or S (2) SGID (set GroupID?)
- 檔案:如果 SGID 是設定在 binary file 上面,則不論使用者是誰,在執行該程式的時候, 他的有效群組 (effective group) 將會變成該程式的群組所有人 (group id)。
- 目錄:如果 SGID 是設定在 A 目錄上面,則在該 A 目錄內所建立的檔案或目錄的 group,將會是此 A 目錄的group
- s or S (4) SUID (set UserID?) SUID
- 僅可用在『二進位制檔案(binary file)』
- 設定方法
- chmod 1xxx filename , chmod o+t filename
- chmod 2xxx filename , chmod g+s filename,
- chmod 4xxx filename , chmod u+s filename
# 目前狀態為1777
[root@localhost :~/tmp> la
drwxrwxrwt 2 root root 72 2006-05-20 12:13 .
drwxr-xr-x 28 mtchang users 1760 2006-05-20 12:09 ..
-rwxrwxrwx 1 root root 2 2006-05-20 12:13 a
[root@localhost :~/tmp> whoami
mtchang
[root@localhost :~/tmp> rm a
rm: 無法移除 ‘a’: 此項操作並不被允許
# 使用root切換回0777
mtchang@localhost:/home/mtchang # chmod 0777 tmp
# 使用mtchang使用者刪除a檔案
mtchang@localhost:~/tmp> rm a
mtchang@localhost:~/tmp> ll -la
drwxrwxrwx 2 root root 48 2006-05-20 12:16 .
drwxr-xr-x 28 mtchang users 1760 2006-05-20 12:09 ..
# 確認刪除
沒有留言:
張貼留言