I don’t see a way to do this with ansible, but perhaps I am missing something. I have a need to change the uid/gid of users/groups on a bunch of servers; however, I don’t wish to create the user/group if it is missing, I just want to modify it if it exists. The following creates the users/groups. The only state options available are present and absent. I need something like, “if present”. I could script it, but I am looking to stick with the ansible stuff if possible. Any thoughts?
`
-
name: Backup /etc/passwd,group files
copy:
src: “{{ item.src }}”
dest: “{{ item.dest }}.{{ ansible_date_time.date }}”
with_items: -
{ src: “/etc/passwd”, dest: “/etc/passwd.bak” }
-
{ src: “/etc/group”, dest: “/etc/group.bak” }
-
name: Set group uids/gids
group:
name: “{{ item.name }}”
gid: “{{ item.gid }}”
with_items: -
{ name: “gomgroup”, gid: “2000” }
-
{ name: “pyle”, gid: “2001” }
-
name: Set user uids/gids
user:
name: “{{ item.name }}”
uid: “{{ item.uid }}”
group: “{{ item.group }}”
with_items: -
{ name: “gomer”, uid: “2000”, group: “gomgroup” }
-
{ name: “pyle”, uid: “2001”, group: “pyle” }
`