ACL - 只授予讀取權限,*不*執行

ACL - 只授予讀取權限,*不*執行

我有一個名為 /test 的目錄,其中有兩個檔案:

info.txt
script.sh

我想授予使用者 john 只讀存取權限並執行以下操作:

setfacl -m u:john: r test/

使用上面的命令 john 無法存取該資料夾,因為他缺乏執行權限,所以我再次嘗試使用以下命令:

setfacl -m u:john: rx test/

好的,現在可以了:使用者 john 可以存取該資料夾並讀取檔案。

然而,他可以運行script.sh。我無意授予後一種權力。我應該如何進行?

答案1

你可以這樣做chmod o-x test/script.sh,但這毫無意義。用戶只需將檔案複製到他們的主目錄,使其可執行並從那裡運行它。無論如何,它都會以用戶的權限運行,除非它是 setuid。 shell 腳本無法設定 uid,但複製 setuid 檔案無論如何都會從副本中刪除 setuid 位元。

相關內容