ansibleを使用してsudoersファイルを変更するには?

ansibleを使用してsudoersファイルを変更するには?

私たち(10サーバー)にはsudoersファイルがあります/etc/sudoers.d/ops。時には、このファイルに複数のユーザーと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  

答え1

個人的には私はテンプレートモジュール(協会)。次のようなテンプレートを準備します。

User_Alias OPS_USERS = {{ユーザー|結合(', ')}}

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

OPS_USERS すべて = NOPASSWD:OPS_CMD

変数に次のように入れます。

ユーザー:
  - 「ユーザー1」
  - 「ユーザー2」
  - 「ユーザー3」

注文する:
  -"/sbin/ifconfig"
  - "/usr/sbin/dmidecode"

編集:たぶん説明が必要かもしれません。

テンプレートでは、文字列を特定の区切り文字(',')。フィルタの詳細を確認できます。ここ。もちろん、リンクする文字列はリストから取得されます。ユーザー「または」注文する'スクリプトの変数セクションで定義してください。

関連情報