创build用户,如果不存在Ansible

我想确保一个给定的用户总是存在于一个系统中,所以只有当它不存在时才创build

我目前的任务是:

- name: Create default user action: user name={{ user }} groups={{ group }} state=present 

但是,当用户已经存在时会引发错误,那么如何避免用户帐号已经存在的错误呢?

模块,因此,像你展示的剧本,必须是幂等的任何使用。

如预期的那样,用剧本和在线人重复同样的动作几次都不会导致任何错误:

 $ ansible 10.0.0.2 -u dawud -m user -a "name=sysadm group=1000 state=present" 10.0.0.2 | success >> { "append": false, "changed": false, "comment": "System Administrator,,,", "group": 1000, "home": "/home/sysadm", "name": "sysadm", "shell": "/bin/bash-static", "state": "present", "uid": 1000 } $ ansible-playbook ansible/sample.yml -u dawud -K sudo password: PLAY [10.0.0.2] ********************* GATHERING FACTS ********************* ok: [10.0.0.2] TASK: [create admin user] ********************* ok: [10.0.0.2] PLAY RECAP ********************* 10.0.0.2 : ok=2 changed=0 unreachable=0 failed=0 

我用过的剧本:

 $ cat ansible/sample.yml - hosts: 10.0.0.2 sudo: yes tasks: - name: create admin user action: user name=sysadm group=1000 state=present 

或者你可以只是作弊和添加

 ignore_errors: yes 

action: user之下action: user