SUID 屬性
SUID屬性一般用在可執行文件上,當用戶執行該文件時,會臨時擁有該執行文件的所有者權限。使用”ls -l” 或者”ll” 命令浏覽文件時,如果可執行文件所有者權限的第三位是一個小寫的”s”,就表明該執行文件擁有SUID屬性。比如/usr/bin/passwd文件。
$ ll /usr/bin/passwd
-rwsr-xr-x 1 root root 41284 4月 9 2012 /usr/bin/passwd
SGID屬性
SGID屬性應用在目錄上時,該目錄中所建立的文件或子目錄的擁有組都會是該目錄的擁有組。當SGID屬性應用在可執行文件上時,其他用戶在使用執行文件時就會臨時擁有該執行文件的擁有組權限。在使用”ls -l” 或者”ll” 命令浏覽目錄時,如果擁有組權限的第三位是一個小寫的”s”,就表明該執行文件或者目錄擁有SGID屬性。
Sticky Bit 屬性
Sticky屬性只能應用在目錄,當目錄擁有Sticky屬性,所有在該目錄中的文件或子目錄無論是什麼權限,只有文件或者子目錄所有者和root用戶能做刪除動作。在使用”ls -l”或者”ll”命令浏覽目錄時,如果其他用戶權限的第三位是一個小寫的”t”,就表明該執行文件或者目錄擁有Sticky屬性。
注意:linux系統規定,如果原本該位上有x,則這些屬性顯示問小寫字母(有效),否則顯示大寫字母(無效)
配置SUID、SGID、Sticky屬性
可以使用字符配置(s 表示SUID和SGID,t表示Sticky)
如:
chmod u+s test_file #給文件增加SUID屬性
chmod g+s test_dir #給目錄增加SGID屬性
chmod o+t test_dir #給目錄增加Sticky屬性
還可以用數字的方式配置(4表示SUID,2表示SGID,1表示Sticky)
如:
chmod 4555 test_file #給文件增加SUID屬性
chmod 2555 test_file #給文件增加SGID屬性
chmod 1555 test_dir #給文件增加Sticky屬性