Mount

使用 hidepid 選項掛載 proc 不會像預期的那樣隱藏 procs,為什麼?

  • April 2, 2021

預設情況下,我在 /proc 上安裝了一個正常的 proc fs。

(我是以下所有命令的 root 使用者)

我在不同的位置再次安裝相同的 hidepid 選項,如下所示:

mount -t proc -o hidepid=2 proc /some/dir/proc

安裝工作,我可以看到來自ls /procAnd的相同輸出ls /some/dir/proc

然後我執行:

setpriv —-reuid 1002 ls /proc

而且輸出還是一樣的。uid 1002 沒有隱藏任何 procs - 這是一個非 root 使用者。

我檢查了 setpriv 是否正常工作,如果可以,setpriv -—reuid 1002 ls /root/我會按預期獲得權限被拒絕。

hidepid 選項似乎沒有效果。我錯過了什麼?

除了hidepid,還有一個gid選項:

gid=gid(自 Linux 3.3 起)

指定組的 ID,其成員被授權學習程序資訊,否則被禁止 hidepid

它沒有明確說明,但在我的系統上,如果沒有給出,它似乎預設為零。(不過,我沒有檢查來源。)因此,嘗試使用以下內容:

setpriv --regid 1002 --clear-groups --reuid 1002 ls /proc/ 

此外,還有一個錯誤會導致在安裝proc時設置的安裝選項被忽略。-oremount用之後的作品設置它們。這在 Linux 5.7 中已修復,請參閱:Why procfs mount option only works on remount?

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