Permissions

將 noexec/nosuid 掛載中的某些二進製文件和腳本列入白名單?

  • April 29, 2016

就像問題一樣。是否可以將 noexec 掛載的 FS 中的某些執行檔列入白名單?

例如,我的看起來像這樣:

/dev/vg/lv on /tmp type ext4 (rw,noexec,nosuid)

不,安裝選項勝過一切。這就是它們的目的:確保不會直接從該文件系統執行任何操作。

為了應對noexec,您可以通過呼叫它們的啟動器來間接執行大多數程序:

  • 如果程序是腳本(以shebang開頭),則呼叫解釋器並將腳本作為第一個參數傳遞給它。
  • 如果程序是動態連結的執行檔,則呼叫動態載入程序(例如/lib/ld-linux.so.2or /lib64/ld-linux-x86-64.so.2)並將二進製文件作為其第一個參數傳遞給它。

如果您有一個使用 掛載的文件系統noexec,您可以查看一個目錄,其中所有文件都可以使用bindfs執行。但是,Bindfs 不允許在每個文件的基礎上設置權限。

當然,您可以在其他地方複製該文件並使其可執行。

如果文件系統已掛載nosuid,則無法設置文件 setuid。那會破壞安全性。要製作 setuid 文件,您需要有權訪問擁有的使用者帳戶。製作副本並製作該 setuid,或在沒有nosuid選項的情況下重新安裝,是唯一的解決方案。

引用自:https://unix.stackexchange.com/questions/280104