Centos7

Visudo 更改在我退出編輯器之前不起作用(CentOS)

  • October 28, 2021

這是我的 Unix 課程中的一個基本練習。

指令如下:

  1. 終端 1:以root使用者身份執行visudo
  2. 終端 1:註釋掉該行%wheel ALL=(ALL) ALL
  3. 終端 1:使用**:w**保存並且不要退出 visudo
  4. 終端 2:以普通使用者身份登錄
  5. 終端 2:執行sudo ls
  6. 終端 2:您應該會收到一條錯誤消息,上面寫著**“使用者名不在 sudoers 列表中”**

注意:普通使用者已經是wheel組的成員

問題是,在終端 1退出 visudo 之前,我沒有收到not in sudoers list錯誤。

讓這更令人困惑的是,對於我程序中的某些人來說,他們能夠在不退出Terminal 1的 visudo 的情況下得到錯誤。

是否有任何設置使我們的機器中的這種行為有所不同?

該命令visudo不會直接/etc/sudoers編輯/etc/sudoers.d/.

相反,它會製作文件的臨時副本,打開您的預設編輯器來修改該臨時文件。當您退出(不保存)時,visudo 將對新版本的配置文件執行語法檢查。如果您的語法有效,它將被複製回原始位置。

整個驗證過程都是為了防止您破壞系統並使其無法管理。如果你真的很勇敢,或者不明智,你可以直接使用你最喜歡的編輯器編輯 sudoers 文件。如果您這樣做,一旦您保存,您的更改就會應用。如果您這樣做,請不要犯任何錯誤,否則您可能是 SOL。

至於您的應用程序發生了什麼。我不知道,你真的沒有提供足夠的資訊來讓我做出任何猜測。

引用自:https://serverfault.com/questions/1081939