一般更新 /etc/sudoers
檔案內容都是使用 visudo
指令進行;若是要管理 sudoer ,Ansible 可以用 community.general.sudoers
模組來管理。
那如果要在腳本裡更新,該怎麼做呢?這時候可以參考 How do I edit /etc/sudoers from a script? 裡的作法來進行。
這作法蠻 tricky 的,主要是利用 EDITOR 環境變數把 visudo 預設的編輯器換為 tee -a
,這樣就不會開啟 vi 編輯器,而會改用 tee 來處理。來看看這行指令
echo 'foobar ALL=(ALL:ALL) ALL' | sudo EDITOR='tee -a' visudo
|
的左邊是很單純的 echo,這裡可以放置要放進去的設定|
的右邊就是 sudo 跟 visudo ,這是用 sudo 執行 visudo 指令,並且把編輯器換為tee -a
這樣組合以後,就可以把設定放到 /etc/sudoers
裏面去了。
另外一種比較單純的作法就是在 /etc/sudoers.d
目錄下去新增檔案,新增以後,因為 /etc/sudoers
裏面有寫 #includedir /etc/sudoers.d
,所以會引用到 /etc/sudoers.d
目錄下的檔案。
沒有留言:
張貼留言