linux系統下,常見的檔案許可權有rwx, 分別對應可讀, 可寫,可執行三種許可權。除了這三種許可權之外, 還有哪些特殊許可權呢?
linux下的另外三種特殊許可權, 分別是suid, sgid, sbit許可權。 這裡重點介紹suid許可權。
suid:set uid 許可權,任何乙個使用者執行乙個帶此許可權的命令時,不是以此使用者的身份啟動,而是以檔案自身的屬主訪問。
基本上suid有這樣的限制與功能:
suid 許可權僅對二進位程式(binary program)有效, 不能用在shell script上面;
執行者對於該程式需要具有 x 的可執行許可權;
本許可權僅在執行該程式的過程中有效 (run-time);
執行者將具有該程式擁有者 (owner) 的許可權。
這裡舉個栗子。 linux系統中預設的被賦予suid許可權的檔案是passwd。
root@vms001:~# ll /usr/bin/passwd
-rwsr-xr-x 1 root root 42824 sep 13 2012 /usr/bin/passwd*
passwd的擁有者是root使用者。 假定有某個使用者叫hackstoic, 他要修改自己的密碼, 即執行passwd 命令, 這時候hackstoic就會被臨時賦予root的許可權來執行passwd命令檔案, passwd就會去修改/etc/shadow檔案下對應的記錄,從而修改使用者自己的密碼。這就解釋了為什麼可以執行passwd命令的緣由。
但是你可以會問, 既然我可以臨時獲得root的許可權,我為什麼不能使用passwd命令來修改別人的密碼呢?
這是因為
passwd
在修改密碼之前會檢視當前使用者是否匹配要修改的使用者,否則就不會往下執行。
文章首發於: www.hackstoic.com
Linux檔案系統上的特殊許可權
suid,sgid,sticky 三種常用許可權 r,w,x user,group,other 安全上下文 前提 程序有屬主和屬組 檔案有屬主和屬組 1 任何乙個可執行程式檔案能不能啟動為程序,取決發起者對程式檔案是否擁有 執行許可權 2 啟動為程序之後,其程序的屬主為發起者,程序的屬組為發起者所屬...
linux檔案系統下的特殊許可權
suid,sgid,sticky 1 許可權 r,w,x user,group,other 2 安全上下文 前提 程序有屬主和屬組 檔案有屬主和屬組 1 任何乙個可執行程式檔案能不能啟動為程序 取決發起者對程式檔案是否擁有執行許可權 2 啟動為程序之後,其程序的屬主為發起者 程序的屬組為發起者所屬的...
linux檔案系統許可權
777 任何人可讀寫 440 不可讀寫 644 唯讀 755 可執行文件不可修改 rw 600 只有屬主有讀寫許可權。rw r r 644 只有屬主有讀寫許可權 而屬組使用者和其他使用者只有讀許可權。rwx 700 只有屬主有讀 寫 執行許可權。rwxr xr x 755 屬主有讀 寫 執行許可權 ...