Ubuntu
如何用ansible修改sudoers文件?
我們有一個 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”
編輯:也許需要一點解釋。
在模板中,我使用了一個過濾器,它使用給定的分隔符( ‘, ‘ )連接字元串。您可以在此處找到有關過濾器的更多資訊。當然,要連接的字元串取自劇本變數部分中定義的列表“使用者”或“命令”。