帮我写一个ansible开用户脚本
时间: 2023-08-19 13:26:15 浏览: 174
以下是一个使用 Ansible 自动化工具创建新用户的脚本:
```yaml
---
- hosts: all
become: yes
vars:
new_user: johndoe
new_user_password: password123
tasks:
- name: Create new user
user:
name: "{{ new_user }}"
password: "{{ new_user_password | password_hash('sha512') }}"
shell: /bin/bash
createhome: yes
state: present
- name: Add new user to sudo group
user:
name: "{{ new_user }}"
groups: sudo
append: yes
state: present
```
该脚本的作用是在 Ansible 支持的所有主机上创建一个名为 "johndoe" 的新用户,并将其添加到 sudo 用户组中。其中,`new_user` 和 `new_user_password` 变量分别指定了新用户的用户名和密码。
脚本中使用了 Ansible 的 `user` 模块来创建新用户和添加用户到用户组中。在 `user` 模块中,`name` 参数指定了新用户的用户名,`password` 参数使用 `password_hash` 过滤器对密码进行加密,`shell` 参数指定了新用户的默认 shell,`createhome` 参数指定了是否创建新用户的主目录,`groups` 参数指定了要添加新用户到哪个用户组,`append` 参数指定了是否将新用户添加到用户组中,`state` 参数指定了用户的状态(present 表示用户存在)。
您可以将该脚本保存为 YAML 文件(例如 `create_new_user.yml`),然后使用 `ansible-playbook` 命令来运行脚本。例如:
```
ansible-playbook create_new_user.yml
```
运行脚本后,Ansible 将在所有支持的主机上创建新用户,并将其添加到 sudo 用户组中。
阅读全文