在Linux中锁定和解锁用户帐户的三种方法
如果您的组织中已经实施了密码策略,则无需寻找此选项。
但是,如果您将锁定时间设置为24小时,则可能需要手动解锁用户帐户。
本教程将帮助您在Linux中手动锁定和解锁用户帐户。
可以通过以下三种方式使用以下两个Linux命令来完成此操作。
passwd: 这用于更新用户的身份验证令牌。这是通过调用Linux-PAM和Libuser API来实现的
usermod: 这用于修改/更新给定用户的帐户信息。它曾经用于将用户添加到特定的组等,
为了进行试验,我们以 daygeek用户帐户为准。让我们看看步骤。
检查给定的用户帐户是否可用或在系统使用中id Command。是的,我的帐户在系统中可用。
# id daygeek
uid=2240(daygeek) gid=2243(daygeek) groups=2243(daygeek),2244(ladmin)
方法1:如何使用passwd命令在Linux中锁定,解锁和检查给定用户帐户的状态?
在passwd文件的命令是Linux的管理员经常使用的命令的一个很经常的更新中用户的身份验证令牌/etc/shadow文件。
使用开关运行passwd命令-l以锁定给定的用户帐户。
# passwd -l daygeek
Locking password for user daygeek.
passwd: Success
您可以使用passwd命令或grep从/etc/shadow文件中给定的用户名来检查锁定帐户的状态。
使用passwd命令检查用户帐户锁定状态。
# passwd -S daygeek
or
# passwd --status daygeek
daygeek LK 2019-05-30 7 90 7 -1 (Password locked.)
这将显示一些有关给定帐户密码状态的简短信息。
LK: 密码已锁定
NP: 没有密码
PS: 密码设定
使用/etc/shadow文件检查锁定的用户帐户状态。如果该帐户已被锁定,则会在密码前面添加两个感叹号。
# grep daygeek /etc/shadow
daygeek:!!$6$tGvVUhEY$PIkpI43HPaEoRrNJSRpM3H0YWOsqTqXCxtER6rak5PMaAoyQohrXNB0YoFCmAuh406n8XOvBBldvMy9trmIV00:18047:7:90:7:::
使用开关运行passwd命令-u以解锁给定的用户帐户。
# passwd -u daygeek
Unlocking password for user daygeek.
passwd: Success
方法2:如何在Linux中使用usermod命令锁定,解锁和检查给定用户帐户的状态?
甚至Linux管理员也经常使用的usermod命令也经常修改/更新给定用户的帐户信息。用于将用户添加到特定的组等,
使用-L开关运行usermod命令以锁定给定的用户帐户。
# usermod --lock daygeek
or
# usermod -L daygeek
您可以使用passwd命令或grep从/etc/shadow文件中给定的用户名来检查锁定帐户的状态。
使用passwd命令检查用户帐户锁定状态。
# passwd -S daygeek
or
# passwd --status daygeek
daygeek LK 2019-05-30 7 90 7 -1 (Password locked.)
这将显示有关给定帐户密码状态的简短信息。
LK: 密码已锁定
NP: 没有密码
PS: 密码设定
使用/etc/shadow文件检查锁定的用户帐户状态。如果该帐户已被锁定,则会在密码前面添加两个感叹号。
# grep daygeek /etc/shadow
daygeek:!!$6$tGvVUhEY$PIkpI43HPaEoRrNJSRpM3H0YWOsqTqXCxtER6rak5PMaAoyQohrXNB0YoFCmAuh406n8XOvBBldvMy9trmIV00:18047:7:90:7:::
使用-U开关运行usermod命令以解锁给定的用户帐户。
# usermod --unlock daygeek
or
# usermod -U daygeek
方法3:如何在Linux中使用usermod命令禁用/启用对给定用户帐户的SSH访问?
该usermod命令命令还经常使用的Linux管理员经常修改/更新给用户的帐户信息。它曾经用于将用户添加到特定的组等,
或者,这可以通过将nologin外壳分配给给定用户来完成。为此,请运行以下命令。
# usermod -s /sbin/nologin daygeek
您可以通过/etc/passwd文件中的给定用户名来检查锁定的用户帐户详细信息。
# grep daygeek /etc/passwd
daygeek:x:2240:2243::/home/daygeek:/sbin/nologin
我们可以通过分配回旧的shell来启用用户ssh访问。
# usermod -s /bin/bash daygeek
如何使用Shell脚本锁定,解锁和检查Linux中多个用户帐户的状态?
如果您想锁定/解锁多个帐户,则需要查找脚本。
是的,我们可以编写一个小的Shell脚本来执行此操作。为此,请使用以下shell脚本。
创建用户列表。每个用户应位于单独的行中。
$ cat user-lists.txt
u1
u2
u3
u4
u5
使用以下Shell脚本在Linux中锁定多个用户帐户。
# user-lock.sh
#!/bin/bash
for user in `cat user-lists.txt`
do
passwd -l $user
done
设置文件的可执行权限user-lock.sh。
# chmod + user-lock.sh
最后运行脚本以实现此目的。
# sh user-lock.sh
Locking password for user u1.
passwd: Success
Locking password for user u2.
passwd: Success
Locking password for user u3.
passwd: Success
Locking password for user u4.
passwd: Success
Locking password for user u5.
passwd: Success
使用以下Shell脚本检查Linux中的锁定用户帐户。
# vi user-lock-status.sh
#!/bin/bash
for user in `cat user-lists.txt`
do
passwd -S $user
done
设置文件的可执行权限user-lock-status.sh。
# chmod + user-lock-status.sh
最后运行脚本以实现此目的。
# sh user-lock-status.sh
u1 LK 2019-06-10 0 99999 7 -1 (Password locked.)
u2 LK 2019-06-10 0 99999 7 -1 (Password locked.)
u3 LK 2019-06-10 0 99999 7 -1 (Password locked.)
u4 LK 2019-06-10 0 99999 7 -1 (Password locked.)
u5 LK 2019-06-10 0 99999 7 -1 (Password locked.)
使用以下Shell脚本在Linux中解锁多个用户帐户。
# user-unlock.sh
#!/bin/bash
for user in `cat user-lists.txt`
do
passwd -u $user
done
设置文件的可执行权限user-unlock.sh。
# chmod + user-unlock.sh
最后运行脚本以实现此目的。
# sh user-unlock.sh
Unlocking password for user u1.
passwd: Success
Unlocking password for user u2.
passwd: Success
Unlocking password for user u3.
passwd: Success
Unlocking password for user u4.
passwd: Success
Unlocking password for user u5.
passwd: Success
运行相同的Shell脚本,user-lock-status.sh以检查锁定的用户帐户是否在Linux中被解锁。
# sh user-lock-status.sh
u1 PS 2019-06-10 0 99999 7 -1 (Password set, SHA512 crypt.)
u2 PS 2019-06-10 0 99999 7 -1 (Password set, SHA512 crypt.)
u3 PS 2019-06-10 0 99999 7 -1 (Password set, SHA512 crypt.)
u4 PS 2019-06-10 0 99999 7 -1 (Password set, SHA512 crypt.)
u5 PS 2019-06-10 0 99999 7 -1 (Password set, SHA512 crypt.)
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任