Linux在
在 mkdir
上設置 setuid 而不使其成為執行檔
我正在設置 setuid
mkdir
而不使其成為執行檔。chmod u+s /usr/bin/mkdir chmod u-x /usr/bin/mkdir [root@rhel-85 /]# ls -l /usr/bin/mkdir -rwSr-xr-x. 1 root root 84664 Jul 9 2021 /usr/bin/mkdir
現在,當我以另一個使用者身份登錄時
"user1"
我仍然
able to create directory even when the "mkdir" binary is non-executable.
我的理解是“user1”應該無法創建目錄,因為
mkdir
它是不可執行的。
您已清除文件所有者的可執行權限,但未清除其組成員或其他使用者的可執行權限。結果,唯一被權限拒絕訪問的使用者是root;每個其他使用者都被授予權限。(root 仍然可以執行二進製文件,因為 root 可以執行設置了任何一個可執行位的任何二進製文件。)
setuid 位不影響授予或拒絕權限的方式;它僅在執行二進製文件時影響程序的有效 uid。