Mount
使用 hidepid 選項掛載 proc 不會像預期的那樣隱藏 procs,為什麼?
預設情況下,我在 /proc 上安裝了一個正常的 proc fs。
(我是以下所有命令的 root 使用者)
我在不同的位置再次安裝相同的 hidepid 選項,如下所示:
mount -t proc -o hidepid=2 proc /some/dir/proc
安裝工作,我可以看到來自
ls /proc
And的相同輸出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?