shell脚本批量修改密码
时间: 2023-12-21 20:31:53 浏览: 176
以下是一个示例的shell脚本,用于批量修改服务器密码:
```shell
#!/bin/bash
# 读取包含用户名和新密码的文件
while IFS= read -r line
do
username=$(echo "$line" | cut -d':' -f1)
password=$(echo "$line" | cut -d':' -f2)
# 使用usermod命令修改密码
echo "$username:$password" | chpasswd
if [ $? -eq 0 ]; then
echo "密码修改成功:$username"
else
echo "密码修改失败:$username"
fi
done < password_file.txt
```
上述脚本假设密码文件`password_file.txt`包含了每行一个用户名和新密码的信息,格式为`username:password`。脚本会逐行读取文件内容,并使用`chpasswd`命令将新密码应用到相应的用户上。
请注意,执行此脚本需要具有足够的权限。在执行脚本之前,请确保已经备份了相关的用户密码信息。
相关问题
kylin v10系统shell脚本批量修改密码
如果你需要批量修改 kylin v10 系统中多个用户的密码,可以编写一个 shell 脚本来实现。具体步骤如下:
1. 创建一个新的文本文件,例如 `batch-change-password.sh`。
2. 在文件中输入以下内容:
```
#!/bin/bash
# 获取需要修改的密码文件路径和新密码
read -p "请输入需要修改密码的用户名列表文件路径:" user_file
read -s -p "请输入新密码:" password
# 遍历用户名列表文件,逐个修改密码
while read username
do
echo "正在修改 $username 的密码..."
echo "$password" | passwd --stdin "$username"
if [ $? -eq 0 ]; then
echo "$username 的密码修改成功!"
else
echo "$username 的密码修改失败!"
fi
done < "$user_file"
echo "所有用户的密码修改完成!"
```
该脚本会提示用户输入包含需要修改密码的用户名列表的文件路径和新密码,然后逐个遍历用户名列表文件,执行 `passwd` 命令来修改密码,并输出修改结果。
3. 将文件保存后,使用 `chmod +x batch-change-password.sh` 命令将其变成可执行文件。
4. 准备一个包含需要修改密码的用户名列表的文件,每行一个用户名,例如:
```
user1
user2
user3
```
5. 执行 `./batch-change-password.sh` 命令来运行脚本,按照提示输入用户名列表文件路径和新密码即可。
注意:使用该脚本需要具有管理员权限。同时,需要保证用户名列表文件中的每个用户名都存在且正确。
请用shell脚本实现虚拟机密码批量修改
假设你已经登录到了虚拟机主机上,可以使用以下脚本批量修改虚拟机密码:
```bash
#!/bin/bash
# 定义新的密码
new_password="new_password"
# 遍历所有用户账户
for user in $(cut -f1 -d: /etc/passwd); do
# 修改密码
echo "$user:$new_password" | chpasswd
done
echo "所有用户密码已经成功修改为$new_password"
```
该脚本会遍历所有用户账户,并将其密码修改为 `new_password`。你只需要将该脚本保存为一个 `.sh` 文件,然后使用 `chmod +x script.sh` 命令添加执行权限,最后运行即可。
阅读全文
相关推荐















