사용자를 유지하기 위해 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보다 크거나 같은 숫자로 이것을 결정하는 방법은 조건이 있는 두 개의 서로 다른 리소스를 갖는 것입니다 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" }