Files
更改 root 擁有的目錄的所有權
作為非特權使用者,在我擁有所有必要權限的文件系統上擁有一個
EXT4
目錄rwx
(無權更改它們(和)。vim file``:w!``root:root``0644
如果該目錄位於我的非特權使用者擁有的目錄中,那麼該目錄是否可能以某種方式由 root 擁有?
目錄的所有者可以隨意更改目錄的內容。即使目錄中存在不允許目錄所有者寫入的文件,目錄所有者也可以刪除該文件並創建一個同名的新文件。
更一般地說,如果您對某個目錄具有寫權限,那麼您可以在該目錄中刪除和創建文件。因此,您可以更改該目錄中的文件,如果您沒有文件的寫入權限,則不是通過寫入文件,而是通過刪除現有文件並創建一個同名的新文件。
如果您擁有一個目錄
parent
並且它包含一個child
由 root 擁有的子目錄並且您沒有對 的寫權限child
,那麼您不能修改child
. 但是,您可以重命名child
並創建一個名為 的新子目錄child
,該子目錄將歸您所有,因此可以包含您想要的任何內容。這就是驗證文件控制的安全檢查(例如 OpenSSH 對私鑰文件進行的健全性檢查)驗證整個目錄鏈直至根目錄的原因。同樣,如果您授予使用者 sudo 執行文件的權限,則文件的整個路徑應由 root 控制。例如,不要授予使用者 sudo 權限以執行其主目錄下的程序。(另一方面,任何地方的 setuid 根程序都可以,因為 setuid 附加到文件本身,而不是它的路徑。)控制目錄路徑中任何中間步驟的任何人都可以替換他們自己的內容,而不是通過編輯實際文件,但通過在路徑中的點重命名目錄。