如何批量修改多台centos用户密码
时间: 2024-03-02 22:28:31 浏览: 23
有多种方法可以批量修改多台CentOS用户密码。以下是其中两种方法:
方法一:使用expect脚本
1. 编写一个expect脚本,例如:
```
#!/usr/bin/expect
set passwd "new_password"
set timeout 10
spawn ssh user@host
expect "password:"
send "old_password\r"
expect "#"
send "passwd\r"
expect "#"
send "exit\r"
```
其中,将new_password替换为新密码,user和host替换为要修改密码的用户名和主机名,old_password替换为当前密码。
2. 将脚本保存为change_password.exp,并添加执行权限:
```
chmod +x change_password.exp
```
3. 创建一个包含要修改密码的主机列表的文本文件,例如hosts.txt。
4. 使用以下命令运行expect脚本并遍历主机列表:
```
while read host; do ./change_password.exp $host; done < hosts.txt
```
方法二:使用pssh工具
1. 安装pssh工具:
```
sudo yum install pssh
```
2. 创建一个包含要修改密码的主机列表的文本文件,例如hosts.txt。
3. 使用以下命令运行pssh并遍历主机列表:
```
parallel-ssh -h hosts.txt -l username -A -I < echo 'new_password' \| passwd --stdin
```
其中,将username替换为要修改密码的用户名,new_password替换为新密码。该命令将在所有主机上运行passwd命令,从标准输入读取新密码并更改用户密码。