ansible创建用户
时间: 2023-07-05 08:15:31 浏览: 40
可以使用Ansible中的"user"模块来创建用户。以下是一个基本的Ansible Playbook,用于创建一个名为"testuser"的用户:
```
- name: Create User
hosts: your_host
become: true
tasks:
- name: Add user testuser
user:
name: testuser
password: $6$rounds=10000$randomsalt$encryptedpassword
shell: /bin/bash
createhome: yes
```
在上面的Playbook中,我们使用了"user"模块来创建用户。在"user"模块中,我们指定了用户的名称,密码,shell和createhome选项。"become: true"指定了在执行任务时使用sudo权限。
请注意,密码字段中的值应该是一个已经加密的密码。你可以使用“mkpasswd”命令来生成一个加密的密码。例如,如果你想为“testuser”用户设置密码为“mypassword”,那么你可以使用以下命令来生成加密的密码:
```
mkpasswd --method=SHA-512 --rounds=10000
```
然后你需要将生成的加密密码放入ansible playbook中的password字段中。
相关问题
ansible 创建mysql用户
你可以使用 Ansible 来创建 MySQL 用户。下面是一个示例的 Ansible playbook,用于创建一个名为 "myuser" 的 MySQL 用户,并且授予该用户在 "mydb" 数据库上的所有权限:
```yaml
- name: Create MySQL user
hosts: your_mysql_host
become: true # 如果需要提升权限,请设置为 true
tasks:
- name: Install MySQL Python package
pip:
name: MySQL-python
state: present
- name: Create MySQL user
mysql_user:
name: myuser
password: mypassword
priv: 'mydb.*:ALL'
state: present
```
请确保在运行此 playbook 之前已经安装了 Ansible,并将 `your_mysql_host` 替换为你的 MySQL 主机的地址。
当你运行这个 playbook 时,Ansible 将在指定的 MySQL 主机上创建一个名为 "myuser" 的用户,并设置密码为 "mypassword",然后授予该用户在 "mydb" 数据库上的所有权限。
注意:在运行 playbook 之前,请根据你的环境和需求进行适当的更改和配置。
ansible创建sudo用户
可以使用以下Ansible playbook创建一个sudo用户:
```
---
- name: Create a sudo user
hosts: all
become: true
vars:
username: "newuser"
password: "password123"
tasks:
- name: Create the new user
user:
name: "{{ username }}"
password: "{{ password | password_hash('sha512') }}"
shell: /bin/bash
createhome: yes
state: present
- name: Add the new user to sudoers
lineinfile:
dest: /etc/sudoers
line: "{{ username }} ALL=(ALL) NOPASSWD: ALL"
state: present
validate: 'visudo -cf %s'
```
在这个playbook中,我们首先定义了一个名为“newuser”的变量作为要创建的新用户的用户名,以及一个名为“password”的变量作为该用户的密码。
接下来,我们使用“user”模块创建新用户,并使用“lineinfile”模块将该用户添加到sudoers文件中以获得sudo权限。
请注意,这个playbook假设您已经有了sudo权限以创建新用户并编辑sudoers文件。