ユーザーを維持するためにansibleを使用したいと思います。モジュールを使用しているがuser
一意ではないユーザーIDが必要です。今、次の辞書があります。
users:
user: { password: "HASH", shell: "/bin/zsh", home: "/home/user", uid: -1, non-unique: "no" }
userroot: { password: "HASH1", shell: "/bin/zsh", home: "/home/userroot", uid: 0, non-unique: "yes" }
次のユーザーを作成しています。
- name: Create users
user: name={{ item.key }} createhome=yes shell={{ item.value.shell }} password={{ item.value.password }} home="{{ item.value.home }}" append=yes state=present
with_dict: "{{users}}"
問題は、パラメータuid
が0以上の値に設定されたときにパラメータを指定するロジックを追加する方法です。
答え1
uid以上の数値でこれを決定する方法は、条件付きの2つの異なるリソースを持つことですwhen
。
しかし、必要でない場合は、uid: -1
このようなことが動作します。ユーザー変数からuid
合計値を削除するだけです。non_unique
- name: Create users
user:
name={{ item.key }}
createhome=yes
shell={{ item.value.shell }}
password={{ item.value.password }}
home="{{ item.value.home }}"
append=yes
state=present
uid="{{ item.value.uid | default(omit) }}"
non_unique="{{ item.value.non_unique | default('no') }}"
with_dict: "{{users}}"
そして、通常のユーザー間でuidとnon_uniqueを使用しないでください(この変数は必ず置き換える必要_
があります):-
user: { password: "HASH", shell: "/bin/zsh", home: "/home/user" }
userroot: { password: "HASH1", shell: "/bin/zsh", home: "/home/userroot", uid: 0, non_unique: "yes" }