Privileges
文件權限中的’s’屬性是什麼意思?
請比較以下兩行:
-rws---r-x 1 root root 21872 2009-10-13 21:06 prg1 -rwx---r-x 1 root root 21872 2009-10-13 21:06 prg2
是否 setuid 位
prg1
以及“其他”的讀取和執行位意味著任何使用者都可以使用 root 權限執行它?也已經讀取並執行了“prg2
其他”,但沒有設置 setuid 位,這是否意味著它仍然可以由任何使用者執行但沒有 root 權限?
恰恰相反,您不需要使用 sudo 或切換到 root,執行檔會為您完成。
那是“setuid”位,它告訴作業系統使用其所有者的使用者標識執行該程序。這通常與 root 擁有的文件一起使用,以允許普通使用者在沒有外部工具(例如
sudo
)的情況下以 root 身份執行它們。您可以使用設置 suid 位
chmod
,例如chmod 4755
,它會給文件提供正常權限 755 do (rwxr-xr-x
) 並添加 suid 位以給予rwsr-xr-x
您可以通過發出帶有 0 前綴的普通 chmod 命令來清除 setuid 位。例如,要將權限設置回
rwxr-xr-x
您將使用chmod 0755
.