私たち(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"
編集:たぶん説明が必要かもしれません。
テンプレートでは、文字列を特定の区切り文字(',')。フィルタの詳細を確認できます。ここ。もちろん、リンクする文字列はリストから取得されます。ユーザー「または」注文する'スクリプトの変数セクションで定義してください。