Tạo người dùng nếu không tồn tại trong Ansible


9

Tôi muốn đảm bảo rằng một người dùng nhất định luôn tồn tại trong một hệ thống, vì vậy chỉ tạo khi nó không tồn tại

nhiệm vụ hiện tại của tôi là:

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

Tuy nhiên, nó gây ra lỗi khi người dùng đã tồn tại, vậy làm thế nào để tránh lỗi khi tài khoản người dùng đã tồn tại?


3
Vui lòng gửi lỗi chính xác như đầu ra của hệ thống.
dawud

Câu trả lời:


11

Các mô-đun, và do đó, các vở kịch như cái bạn thể hiện, phải bình thường để được sử dụng.

Lặp đi lặp lại cùng một hành động nhiều lần cả với một cuốn sách và một người chơi không gây ra bất kỳ lỗi nào, như mong đợi:

$ 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

Cuốn sách tôi đã sử dụng:

$ cat ansible/sample.yml
- hosts: 10.0.0.2
  sudo: yes

  tasks:

    - name: create admin user
      action: user name=sysadm group=1000 state=present

0

Hoặc bạn chỉ có thể gian lận và thêm

ignore_errors: yes  

dưới action: userdòng


2
Đây là một lựa chọn kém và chỉ nên được sử dụng làm khu nghỉ dưỡng RẤT LỚN và CHỈ nếu bạn biết chính xác lý do tại sao bạn làm việc này.
Guto Andreoche
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.