我需要通过ansible对ubuntu系统的普通用户进行批量修改密码
时间: 2023-09-19 12:10:17 浏览: 142
可以使用以下的ansible playbook来批量修改ubuntu系统的普通用户密码:
```yaml
---
- name: Change password for users
hosts: your_host_group
vars:
new_password: your_new_password
tasks:
- name: Set password for users
become: true
user:
name: "{{ item }}"
password: "{{ new_password | password_hash('sha512') }}"
with_items:
- user1
- user2
# Add more users here as needed
```
在这个playbook中,我们使用了ansible的`user`模块来修改用户密码。我们使用了`with_items`来循环遍历用户列表,并使用`password_hash`过滤器来对密码进行哈希处理。最后,我们使用`become`来确保我们具有管理员权限以修改用户密码。
请注意,这个playbook中的`new_password`变量应该被设置为您想要设置的新密码。您可以将其设置为任何您想要的值。
相关问题
我需要通过ansible工具批量修改ubuntu的普通账号密码
以下是使用Ansible批量修改Ubuntu普通账号密码的步骤:
1. 首先,在Ansible控制节点上创建一个主机清单文件,其中包含要修改密码的所有Ubuntu主机的IP地址或主机名。
2. 在控制节点上创建一个Ansible playbook文件,定义要执行的任务。以下是一个示例playbook文件:
```
---
- hosts: all
become: true
tasks:
- name: Change password for user
user:
name: "{{ item }}"
password: "{{ new_password | password_hash('sha512') }}"
loop: "{{ users }}"
```
这个playbook文件将在所有主机上执行以下任务:
- 以超级用户权限执行任务。
- 为每个用户更改密码。
3. 在控制节点上创建一个变量文件,其中包含要更改密码的用户列表和新密码。以下是一个示例变量文件:
```
---
users:
- user1
- user2
- user3
new_password: mynewpassword
```
这个变量文件将为每个用户设置新密码“mynewpassword”。
4. 最后,在控制节点上运行Ansible playbook文件以执行任务:
```
ansible-playbook -i inventory_file playbook_file.yml --extra-vars "@vars_file.yml"
```
其中,inventory_file是主机清单文件的路径,playbook_file.yml是playbook文件的路径,vars_file.yml是变量文件的路径。运行此命令后,Ansible将在所有Ubuntu主机上更改指定用户的密码。
我需要通过ansible工具批量修改ubuntu的普通账号密码。所有服务器的密码都是统一的,且需要sudo权限
1. 创建一个包含所有服务器IP地址的主机清单文件(inventory file),命名为hosts,格式如下:
```
[ubuntu_servers]
server1 ansible_host=192.168.1.101
server2 ansible_host=192.168.1.102
server3 ansible_host=192.168.1.103
```
2. 创建一个playbook文件,命名为change_password.yml,内容如下:
```
- name: Change password for all users
hosts: ubuntu_servers
become: yes
vars:
new_password: mynewpassword # 修改为你想要设置的密码
tasks:
- name: Change password for user
user:
name: "{{ item }}"
password: "{{ new_password | password_hash('sha512') }}"
update_password: always
with_items:
- user1
- user2
- user3
when: item != 'root' # 排除root用户
- name: Test login with new password
command: echo "Login successful"
become_user: "{{ item }}"
with_items:
- user1
- user2
- user3
```
3. 运行playbook文件:
```
ansible-playbook -i hosts change_password.yml
```
该playbook将会批量修改所有ubuntu服务器上除root用户以外的用户账号密码为mynewpassword。修改密码后,会测试是否可以用新密码登录。
阅读全文
相关推荐











