Ubuntu

如何用ansible修改sudoers文件?

  • March 7, 2017

我們有一個 sudoers 文件/etc/sudoers.d/ops(在 10 個伺服器上)。有時我們需要向該文件添加多個使用者和 Cmnd_Alias。我們如何使用 ansible playbook 自動執行此操作?

我們的 sudoers 文件:

User_Alias     OPS_USERS = user1,user2,user3

Cmnd_Alias     OPS_CMD = /sbin/ifconfig, /usr/sbin/dmidecode

OPS_USERS      ALL = NOPASSWD:OPS_CMD  

我個人會使用模板模組(連結)。我會準備一個與此類似的模板:

User_Alias OPS_USERS = {{ users|join(', ') }}

Cmnd_Alias OPS_CMD = {{ commands|join(', ') }}

OPS_USERS ALL = NOPASSWD:OPS_CMD

在變數中,我會這樣寫:

使用者:
- “使用者 1”
- “使用者2”
- “使用者 3”

命令:
-“/sbin/ifconfig”
- “/usr/sbin/dmidecode”

編輯:也許需要一點解釋。

在模板中,我使用了一個過濾器,它使用給定的分隔符( ‘, ‘ )連接字元串。您可以在此處找到有關過濾器的更多資訊。當然,要連接的字元串取自劇本變數部分中定義的列表“使用者”或“命令”。

引用自:https://unix.stackexchange.com/questions/349691