Linux入門基礎:Linux拓展權限
默認權限
每一個終端都擁有一個umask屬性,來確定新建文件和文件夾的默認權限
umask使用數字權限方式來表示,如022
目錄的默認權限是:777-umask
文件的默認權限是:666-umask
一般,普通用戶的默認umask是002,root用戶的默認umask是022
也就是說,對於普通用戶來說:
新建文件的權限是:666-002 = 664
新建目錄的權限是:777-002 = 775
命令umask用以查看設置umask值
$ umask 查看當前的umask值。(會看到有4位,後面講)
$ umask 022 把當前的umask值甚至為022
特殊權限
除了普通權限,還有特殊權限
用命令umask,會看到有4位,每一位占3bit,所以Linux權限二進制共有12位,UGO占了後9位, 開頭的3位是特殊權限。
權限 對文件的影響 對目錄的影響
suid 以文件的所屬目錄身份執行,而非執行文件的用戶 無
sgid 以文件所屬組身份執行 該目錄中創建的任意新文件的所屬組與該目錄的所屬組相同
sticky 無 對目錄擁有寫入權限的用戶僅可以刪除其擁有的文件,無法刪除其他用戶所擁有的文件
例如:
$ ls -l /usr/bin/passwd
顯示:
-rwsr-xr-x 1 root root 41284 Apr 9 2012 /usr/bin/passwd
U權限的x位變成了s,說明這個文件是suid權限
設置特殊權限
設置suid: $ chmod u+s test
設置sgid: $ chmod g+s test
設置sticky: $ chmod o+t test
與普通權限一樣,特殊權限也可以使用數字方式表示
-SUID = 4
-SGID = 2
-Sticky = 1
所以,我們可以通過以下命令設置:
$ chmod 4755 test