設置用戶ID(set-user-ID),設置組ID(set-group-ID),sticky set-user-ID: SUID 當文件的該位有設置時,表示當該文件被執行時,程式具有文件所有者的許可權而不是執行者的許可權。 這樣說有點繞,舉個例子就是說passwd這個命令,它的所有者是root,並且它的 ...
設置用戶ID(set-user-ID),設置組ID(set-group-ID),sticky set-user-ID: SUID 當文件的該位有設置時,表示當該文件被執行時,程式具有文件所有者的許可權而不是執行者的許可權。 這樣說有點繞,舉個例子就是說passwd這個命令,它的所有者是root,並且它的set-user-id有設置,所以執行passwd命令後,passwd進程具有root許可權,也才能改密碼,畢竟普通用戶沒有修改/etc/passwd文件的許可權。然而,並不能該別人的密碼,因為st_uid還是我,並不是root。 當文件的set-user-ID位被設置時,通過ls -l命令查看,在許可許可權部分,用戶的x被替換成s ls -l /usr/include/passwd -rwsr-xr-x 1 root root 41284 9月 13 2012 /usr/bin/passwd set-group-ID: SGID 和set-user-id同理,不過具有的是所有組的許可權. 當文件的set-group-ID位被設置時,在許可許可權部分,組用戶的x被替換成s sticky: sticky位對於文件和目錄有不同的用途。 對於文件而言,sticky位告訴內核即使沒有人在使用這個程式,也要把它放在交換空間中,放在交換空間里的文件被記憶體調用的時候要比放在磁碟上快。不過有虛擬技術後,這個用的很少了。 對於目錄而言,sticky位使得存放在這個目錄下的文件只能被創建者刪除,別人不能夠刪除。 當文件的sticky位被設置時,通過ls -l命令查看,在許可許可權部分,其他用戶的x被替換成t 設置方法類似 : chmod 4777 filename 4 代表SUID 2 代表SGID 1 代表sticky