1. 程式人生 > >linux中文件與目錄的特殊權限

linux中文件與目錄的特殊權限

使用 cnblogs 其他 time 分析 臨時 用戶 特殊權限 sbit

time:18.03.26

以以下2個典型的文件及目錄來分析:

 ll /usr/bin/passwd 
-rwsr-xr-x. 1 root root 27832 Jan 29  2014 /usr/bin/passwd
ll -d /tmp
drwxrwxrwt. 23 root root 4096 Mar 25 23:53 /tmp

SUID

s出現在文件擁有者的x權限上時,如我們上面看到的/usr/bin/passwd這個文件的權限時-rwsr-xr-x,此時就被稱為SET UID簡稱SUID.
SUID權限僅對二進制可執行文件有效

執行者對於該文件具有x的權限
本權限僅在執行該文件的過程中有效
執行者將具有該文件擁有者的權限

舉例:
普通用戶使用passwd命令修改自己的密碼, 實際上最終更改的是/etc/passwd文件.該文件權限如下:

ll /etc/passwd
-rw-r--r--. 1 root root 2394 Mar 25 23:17 /etc/passwd

可以看到只有root用戶才有寫權限, 因為/usr/bin/passwd設置了suid權限位,普通用戶執行此命令時臨時擁有root權限以間接地修改/etc/passwd從而修改自己的密碼.
設置方法
chmod u+s <文件或目錄>

SGID

s出現在目錄或文件的所有組的x權限上時稱為SET GID簡稱SGID
設置方法
chmod g+s <文件或目錄>

SBIT

t出現在目錄的其他用戶的x權限上時, 稱為Sticky Bit簡稱SBIT[僅對目錄有效, 對文件無效]

作用:

當用戶在該目錄下建立文件或目錄時,僅有自己與 root才有權力刪除.
最具有代表的就是/tmp目錄,任何人都可以在/tmp內增加、修改文件(因為權限全是rwx),但僅有該文件/目錄建立者與 root能夠刪除自己的目錄或文件

設置方法
chmod o+t <目錄>

若特殊權限未設置成功則顯示為大寫字母 {S, S, T}

linux中文件與目錄的特殊權限