我試圖對 procfs 進行限制,例如只有某些成員群組可以執行讀取和寫入操作。
核心檔案說我們可以透過設定hidepid
和gid
in 來做到這一點/etc/fstab
。它將限制惡意使用者在 procfs 上進行讀寫,但我懷疑惡意使用者(在 中受到限制)是否可以/etc/fstab
使用 syscall 而不是 fs 操作(如讀寫)來存取 profs 中的內容。
答案1
/proc
是核心和使用者空間之間所有內容的接口,並且大多數內容無法以任何其他方式取得(對於 pid 目錄下、該進程之外的內容)。因此hidepid=2
可以有效地向其他使用者隱藏進程的命令列和環境等資訊。
一些資訊可以透過副作用來確定。例如,可以透過嘗試殺死具有給定 pid 的進程來確定該進程的存在,如果進程不存在,如果呼叫進程沒有正確的權限,則使用訊號 0:kill()
失敗。同樣,可以透過嘗試連接來確定開啟的連接埠。ESRCH
EPERM