root 如何在權限設定為 440 的情況下寫入 sudoers 檔案?

root 如何在權限設定為 440 的情況下寫入 sudoers 檔案?

所以當我查看 /etc/sudoers 檔案的權限時,它是這樣的

-r--r----- 1 root root 705 Nov  2 19:57 /etc/sudoers

現在,這不是意味著它不可寫嗎?那麼 root 使用者如何寫入呢?

答案1

root 使用者始終擁有對任何檔案的完全寫入存取權限,無論其模式為何。

也許最好的例子是/etc/shadow,它是模式 000 但當然可以由 root 修改:

[root@centos7 ~]# ls -pl /etc/shadow
----------. 1 root root 1353 Oct 26 07:40 /etc/shadow

答案2

正如評論中所述,最初的答案有點不清楚。

文件的擁有者始終可以更改他所擁有的任何文件的權限(而 root 可以對所有現有文件執行此操作)。

如果您是普通用戶,這取決於您嘗試修改唯讀檔案的方式:

  • 使用 vi 開啟檔案並更改它 -> 您可以使用“:w!”寫入更改
  • 嘗試 #echo "test" >> 只讀文件,權限被拒絕。

如果您是 root 用戶,您可以覆寫和更改任何您想要的文件,但程式 vi 會考慮唯讀權限並要求確認。

檔案 /etc/sudoers 應始終透過「visudo」命令進行更改,該命令會在臨時檔案中開啟實際檔案的內容,並在儲存變更之前進行一些檢查。作為 root 用戶,儘管具有唯讀權限,仍可以寫入更改。

答案3

嘗試使用 visudo 而不是 vi

sudo visudo

相關內容