要解决Ansible的become_user useradd问题,可以按照以下步骤进行操作:
确保在Ansible主机上安装了passlib
模块,这是用于处理密码散列的Python库。可以使用以下命令安装它:
pip install passlib
在Ansible playbook中,使用ansible.builtin.user
模块来创建用户,并在become_user
参数中指定要切换到的用户。可以使用以下代码示例:
- name: 创建用户
hosts: all
become: true
become_user: root
tasks:
- name: 创建用户
ansible.builtin.user:
name: newuser
password: "{{ 'password' | password_hash('sha512') }}"
state: present
在上面的示例中,newuser
是要创建的用户名,password
是用户的密码,sha512
是使用的密码散列算法。可以根据需要更改这些值。
运行Ansible playbook来创建用户。可以使用以下命令运行playbook:
ansible-playbook playbook.yml
这将执行playbook中定义的任务,并创建指定的用户。
通过以上步骤,就可以通过Ansible的become_user
参数创建新的用户。请注意,确保在运行playbook时具有足够的权限来切换到指定的用户并创建用户。