linux批量修改密码命令
-
要批量修改Linux用户密码,可以使用以下命令:
1. 使用 usermod 命令批量修改密码:
“`bash
for user in $(grep ‘/home’ /etc/passwd | cut -d: -f1); do
sudo usermod –password $(openssl passwd -1 NewPassword) $user
done
“`这个命令会获取所有位于 /home 目录下的用户,并将密码修改为 “NewPassword”。你需要将 “NewPassword” 替换为你想要设定的密码。
2. 使用 chpasswd 命令批量修改密码:
“`bash
echo ‘username1:NewPassword’ | sudo chpasswd
echo ‘username2:NewPassword’ | sudo chpasswd
echo ‘username3:NewPassword’ | sudo chpasswd
“`这个命令逐行修改每个指定用户的密码。你需要将 “username1、username2、username3” 替换为你想要修改密码的用户名,并将 “NewPassword” 替换为你想要设定的密码。
3. 使用 expect 命令批量修改密码:
创建一个名为 “batch_password_change.exp” 的文件,并将以下脚本复制到文件中:
“`bash
#!/usr/bin/expect
set timeout 10# 修改密码
spawn passwd [lindex $argv 0]
expect “New password:”
send — “NewPassword\r”
expect “Retype new password:”
send — “NewPassword\r”expect eof
“`运行以下命令进行批量修改密码:
“`bash
chmod +x batch_password_change.exp
echo “username1” | ./batch_password_change.exp
echo “username2” | ./batch_password_change.exp
echo “username3” | ./batch_password_change.exp
“`将 “username1、username2、username3” 替换为你想要修改密码的用户名,并将 “NewPassword” 替换为你想要设定的密码。
这些命令可以在Linux系统中批量修改用户密码。记得在执行这些命令前先备份你的用户密码文件,以免出现意外情况。
2年前 -
在Linux系统中,可以使用以下命令批量修改密码:
1. passwd命令:使用passwd命令可以更改用户的密码。可以通过循环遍历用户列表,然后使用passwd命令为每个用户修改密码。例如:
“`bash
for user in $(cat userlist.txt)
do
echo “New password for $user:”
passwd $user
done
“`
这里的userlist.txt是一个包含用户名列表的文本文件。上述脚本将逐行读取userlist.txt中的用户名,并提示输入新密码。然后,通过passwd命令为每个用户修改密码。2. chpasswd命令:chpasswd命令可以从文件中批量修改密码。可以将用户名和密码以用户名:密码的形式写入文件,并使用chpasswd命令将文件中的密码批量更新到系统。例如:
“`bash
cat userpass.txt | chpasswd
“`
这里的userpass.txt是一个包含用户名和密码的文本文件,每行一个。chpasswd命令将读取文件中的用户名和密码,并将其更新到系统中的对应用户。3. usermod命令:usermod命令可以修改用户的属性,包括密码。可以通过循环遍历用户列表,然后使用usermod命令为每个用户修改密码。例如:
“`bash
for user in $(cat userlist.txt)
do
echo “New password for $user:”
passwd $user
done
“`
这里的userlist.txt是一个包含用户名列表的文本文件。上述脚本将逐行读取userlist.txt中的用户名,并提示输入新密码。然后,通过passwd命令为每个用户修改密码。4. 使用expect工具:expect是一个用于自动化交互式进程的工具。可以创建一个expect脚本,使用send和expect命令与passwd命令进行交互性地修改密码。例如:
“`bash
#!/usr/bin/expectset userlist [open “userlist.txt” r]
while {[gets $userlist username] != -1} {
spawn passwd $username
expect “Enter new UNIX password:”
send “new_password\r”
expect “Retype new UNIX password:”
send “new_password\r”
expect eof
}
“`
这里的userlist.txt是一个包含用户名列表的文本文件。上述脚本将逐行读取userlist.txt中的用户名,并与passwd命令进行交互式地修改密码。新密码需要在脚本中的send命令中指定。5. 使用SSH密钥:如果你有多个服务器需要修改密码,可以使用SSH密钥来批量修改密码。首先,将SSH公钥拷贝到所有服务器上的authorized_keys文件中。然后,使用SSH密钥登录到每个服务器,并使用passwd命令修改密码。通过SSH密钥登录可以避免输入密码,并可以批量执行命令。
这些是在Linux系统中批量修改密码的几种常用方法。根据实际情况选择适合的方法来批量修改密码。
2年前 -
在Linux系统中,可以使用命令行工具来批量修改用户密码。下面将介绍一种常用的方法和操作流程。
1. 创建一个包含所有用户名的文本文件:
首先,创建一个包含所有用户名的文本文件。你可以使用任何文本编辑器,比如vi或nano。在文件中,每个用户名占据一行。保存文件并记住它的路径和文件名。
2. 使用循环来修改密码:
接下来,我们使用循环来依次读取文本文件中的用户名,并对每个用户执行修改密码的操作。在终端中输入以下命令:
“`
while read -r username; do
passwd “$username”
done < /path/to/usernames.txt```请将`/path/to/usernames.txt` 替换为你在第一步中创建的文本文件的路径和名称。3. 输入新密码:当你运行上述命令后,系统会提示你输入新密码。在连续输入两次后,密码将被更改。请记住每次的新密码。重复这个过程直到循环结束,所有列出的用户的密码都会被更改为对应的新密码。这是一种简单且有效的批量修改Linux用户密码的方法。通过使用文本文件和循环,你可以一次性修改多个用户的密码,省时省力。2年前