在Linux中更新/更改用户密码的不同方法
在Linux中创建用户帐户时,设置用户密码是一件基本的事情。
每个人都使用passwd命令和用户名passwd USERNAME来设置用户密码,请务必设置一个难猜的密码,以帮助您提高系统的安全性。我的意思是说,这应该是字母,符号和数字。
另外,出于安全原因,我们建议每月至少更改一次密码。
如果您以Linux管理员的身份工作,您可能会多次想到以下问题。
如何在单个命令中更新/更改用户密码?
如何在Linux中为多个用户更新/更改相同的密码?
如何在Linux中更新/更改多个用户密码?
如何在Linux中为多个用户更新/更改密码?
如何在Linux中为多个用户更新/更改不同的密码?
如何在多个Linux服务器中更新/更改用户密码?
如何在多个Linux服务器中更新/更改多个用户密码?
使用passwd命令时,它将要求您输入两次密码以进行设置。这是设置用户密码的本机方法。
如果您不想两次更新密码,并希望以其他方式进行更新?
方法1:使用passwd命令
passwd命令是在Linux中为用户设置或更新或更改密码的标准方法。以下方法是执行此操作的标准方法。
# passwd renu
Changing password for user renu.
New password:
BAD PASSWORD: The password contains the user name in some form
Retype new password:
passwd: all authentication tokens updated successfully.
如果要使用单个命令设置或更改密码,请运行以下命令。这使用户可以在单个命令中更新密码。
# echo "new_password" | passwd --stdin thanu
Changing password for user thanu.
passwd: all authentication tokens updated successfully.
方法2:使用chpasswd命令
chpasswd是另一个命令,它将允许我们为Linux中的用户设置或更新或更改密码。如果要使用chpasswd命令在单个命令中更改用户密码,请使用以下格式。
# echo "thanu:new_password" | chpasswd
方法3:如何为多个用户设置不同的密码
如果要为Linux中的多个用户使用不同的密码设置或更新或更改密码,请使用以下脚本。
为此,首先我们需要使用以下命令获取用户列表。下面的命令将列出拥有/home目录的用户,并将输出重定向到user-list.txt文件。
# cat /etc/passwd | grep "/home" | cut -d":" -f1 > user-list.txt
使用cat命令列出用户。如果您不想重置特定用户的密码,请从列表中删除该用户。
# cat user-list.txt
centos
magi
daygeek
thanu
renu
创建一个如下所示的小型Shell脚本即可实现此目的。
# vi password-update.sh
#!/bin/sh
for user in `more user-list.txt`
do
echo "$user@123" | passwd --stdin "$user"
chage -d 0 $user
done
设置文件的可执行权限password-update.sh。
# chmod +x password-update.sh
最后运行脚本以实现此目的。
# ./password-up.sh
magi
Changing password for user magi.
passwd: all authentication tokens updated successfully.
daygeek
Changing password for user daygeek.
passwd: all authentication tokens updated successfully.
thanu
Changing password for user thanu.
passwd: all authentication tokens updated successfully.
renu
Changing password for user renu.
passwd: all authentication tokens updated successfully.
方法4:如何为多个用户设置相同的密码
如果要为Linux中的多个用户设置或更新或更改相同的密码,请使用以下脚本。
# vi password-update.sh
#!/bin/sh
for user in `more user-list.txt`
do
echo "new_password" | passwd --stdin "$user"
chage -d 0 $user
done
方法5:如何在多台服务器中更改用户密码
如果要在多台服务器中更改用户密码,请使用以下脚本。就我而言,我们将为renu用户更改密码。确保您必须提供要更新其密码的用户名。
确保必须将服务器列表更新为server-list.txt文件。每个服务器应位于单独的行中。
# vi password-update.sh
#!/bin/bash
for server in `cat server-list.txt`
do
ssh root@$server 'passwd --stdin renu
new_passwd
EOF';
done
您将获得与我们相似的输出。
# ./password-update.sh
New password: BAD PASSWORD: it is based on a dictionary word
BAD PASSWORD: is too simple
Retype new password: Changing password for user renu.
passwd: all authentication tokens updated successfully.
New password: BAD PASSWORD: it is based on a dictionary word
BAD PASSWORD: is too simple
Retype new password: Changing password for user renu.
passwd: all authentication tokens updated successfully.
方法6:如何在多台服务器中更改用户密码
如果要在多台服务器中更改用户密码,请使用以下脚本。就我而言,我们将为user1用户更改密码。确保您必须替换您的用户而不是我们。
确保必须将服务器列表更新为server-list.txt文件。每个服务器应位于单独的行中。
$ cat server-list.txt
192.168.1.8
192.168.1.9
192.168.1.10
使用以下脚本可实现此目的。
# vi password-update.sh
#!/bin/bash
for server in `cat server-list.txt`
do
echo -e "Server IP is: $server"
ssh root@$server 'echo "new_passwd" | passwd --stdin user1'
done
您将获得与我们相似的输出。
# ./password-update.sh
Server IP is: 192.168.1.8
Changing password for user user1.
passwd: all authentication tokens updated successfully.
Server IP is: 192.168.1.9
Changing password for user user1.
passwd: all authentication tokens updated successfully.
Server IP is: 192.168.1.10
Changing password for user user1.
passwd: all authentication tokens updated successfully.
方法7:如何使用pssh命令在多个服务器中更改用户密码
pssh是用于在许多主机上并行执行ssh的程序。它提供的功能包括将输入发送到所有进程,将密码传递给ssh,将输出保存到文件以及超时。
# pssh -i -h /tmp/server-list.txt "printf '%sn' new_pass new_pass | passwd --stdin root"
您将获得与我们相似的输出。
[1] 07:58:07 [SUCCESS] CentOS.2daygeek.com
Changing password for user root.
passwd: all authentication tokens updated successfully.
Stderr: New password: BAD PASSWORD: it is based on a dictionary word
BAD PASSWORD: is too simple
Retype new password:
[2] 07:58:07 [SUCCESS] ArchLinux.2daygeek.com
Changing password for user root.
passwd: all authentication tokens updated successfully.
Stderr: New password: BAD PASSWORD: it is based on a dictionary word
BAD PASSWORD: is too simple
方法8:如何使用chpasswd命令在多台服务器中更改用户密码
或者,我们可以使用chpasswd命令来更新多个服务器中用户的密码。
# ./password-update.sh
#!/bin/bash
for server in `cat server-list.txt`
do
ssh root@$server 'echo "magi:new_password" | chpasswd'
done
方法9:如何使用chpasswd命令在Linux服务器中更改多个用户密码
为此,请首先创建一个文件并以以下格式更新用户名和密码。就我而言,我创建了一个名为的文件user-list.txt。
请参阅下面的详细信息。
# cat user-list.txt
magi:new@123
daygeek:new@123
thanu:new@123
renu:new@123
创建以下小型Shell脚本以实现此目的。
# vi password-update.sh
#!/bin/bash
for users in `cat user-list.txt`
do
echo $users | chpasswd
done
方法10:如何使用chpasswd命令在多个Linux服务器中更改多个用户密码?
为此,创建以下文件并更新所需的信息。
确保必须将服务器列表更新为server-list.txt文件。每个服务器应位于单独的行中。
$ cat server-list.txt
192.168.1.8
192.168.1.9
您必须将用户列表更新为user-list.txt文件的方式相同。每个用户应放在单独的行中。
$ cat user-list.txt
user1:User@1
user2:User@2
使用以下脚本可实现此目的。
$ vi pass-multi-user.sh
#!/bin/bash
for server in `cat server-list.txt`
do
for user in `cat user-list.txt`
do
echo -e "Server IP is: $server"
ssh root@$server "echo '$user' | chpasswd"
done
done
运行脚本时,您将获得与我们相似的输出。
$ sh pass-multi-user.sh
Server IP is: 192.168.1.8
Server IP is: 192.168.1.8
Server IP is: 192.168.1.9
Server IP is: 192.168.1.9
方法11:如何使用passwd命令更改多个Linux服务器中的多个用户密码?
如果要更改多个服务器中的多个用户密码,请使用以下脚本。就我而言,我们将为user1和user2用户更改密码。确保您必须替换用户名而不是我们的用户名。
确保必须将服务器列表更新为server-list.txt文件。每个服务器应位于单独的行中。
$ cat server-list.txt
192.168.1.8
192.168.1.9
您必须将用户列表更新为user-list.txt文件的方式相同。每个用户应放在单独的行中。
$ cat user-list.txt
user1
user2
使用以下脚本可实现此目的。
$ vi pass-multi-user.sh
#!/bin/bash
for server in `cat server-list.txt`
do
for user in `cat user-list.txt`
do
echo -e "Server IP is: $server"
ssh root@$server "echo 'User@123' | passwd --stdin '$user'"
echo ""
done
done
运行脚本时,您将获得与我们相似的输出。
$ sh pass-multi-user.sh
Server IP is: 192.168.1.8
Changing password for user user1.
passwd: all authentication tokens updated successfully.
Server IP is: 192.168.1.8
Changing password for user user2.
passwd: all authentication tokens updated successfully.
Server IP is: 192.168.1.9
Changing password for user user1.
passwd: all authentication tokens updated successfully.
Server IP is: 192.168.1.9
Changing password for user user2.
passwd: all authentication tokens updated successfully.
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任