假如你早已在你的组织中施行了某种密码策略,你无需看这篇文章了。并且在这些情况下,假如你给帐户设置了24小时的锁定期,你须要自动解锁用户账户。
本教程将帮助你在Linux中自动锁定和解锁用户账户。
这可以通过三种方法使用以下两个Linux命令来完成。
为了说明这一点,我们选择daygeek用户账户。让我们瞧瞧,如何一步步来实现的。
请注意,你必须使用你须要锁定或解锁的用户的账户linux 用户分配权限linux操作系统,而不是我们的账户。你可以使用id命令检测给定的用户账户在系统中是否可用。是的,我的这个账户在我的系统中是可用的。
- # id daygeek
- uid=2240(daygeek) gid=2243(daygeek) groups=2243(daygeek),2244(ladmin)
方式1:怎样使用passwd命令锁定、解锁和检测Linux中给定用户账户的状态?
passwd命令是Linux管理员常常使用的命令之一。它用于更新/etc/shadow文件中用户的身分验证令牌。
使用-l开关运行passwd命令,锁定给定的用户账户。
- # passwd -l daygeek
- Locking password for user daygeek.
- passwd: Success
你可以通过passwd命令或从/etc/shadow文件中获取给定用户名来检测锁定的账户状态。
使用passwd命令检测用户账户锁定状态。
- # passwd -S daygeek
- 或
- # passwd --status daygeek
- daygeek LK 2019-05-30 7 90 7 -1 (Password locked.)
这将输出给定账户密码状态的简略信息。
使用/etc/shadow文件检测锁定的用户账户状态。假如账户已被锁定,密码后面将添加两个叹号。
- # grep daygeek /etc/shadow
- daygeek:!!$6$tGvVUhEY$PIkpI43HPaEoRrNJSRpM3H0YWOsqTqXCxtER6rak5PMaAoyQohrXNB0YoFCmAuh406n8XOvBBldvMy9trmIV00:18047:7:90:7:::
使用-u开关运行passwd命令,可以解锁给定的用户账户。
- # passwd -u daygeek
- Unlocking password for user daygeek.
- passwd: Success
方式2:怎样使用usermod命令在Linux中锁定、解锁和检测给定用户账户的状态?
usermod命令也常常被Linux管理员使用。usermod命令用于更改/更新给定用户的账户信息。它用于将用户添加到特定的组中,等等。
使用-L开关运行usermod命令linux 用户分配权限,锁定给定的用户账户。
- # usermod --lock daygeek
- 或
- # usermod -L daygeek
你可以通过passwd命令或从/etc/shadow文件中获取给定用户名来检测锁定的账户状态。
使用passwd命令检测用户账户锁定状态。
- # passwd -S daygeek
- 或
- # passwd --status daygeek
- daygeek LK 2019-05-30 7 90 7 -1 (Password locked.)
这将输出给定账户密码状态的简略信息。
使用/etc/shadow文件检测锁定的用户账户状态。假如账户已被锁定,密码后面将添加两个叹号。
- # grep daygeek /etc/shadow
- daygeek:!!$6$tGvVUhEY$PIkpI43HPaEoRrNJSRpM3H0YWOsqTqXCxtER6rak5PMaAoyQohrXNB0YoFCmAuh406n8XOvBBldvMy9trmIV00:18047:7:90:7:::
使用-U开关运行usermod命令以解锁给定的用户账户。
- # usermod --unlock daygeek
- 或
- # usermod -U daygeek
方式-3:怎样在Linux中使用usermod命令禁用、启用对给定用户账户的SSH访问?
usermod命令也是常常被Linux管理员使用的命令。usermod命令用于更改/更新给定用户的账户信息。它用于将用户添加到特定的组中,等等。
取代的,锁定可以通过将nologinshell分配给给定用户来完成。因此linux查看硬件信息,可以运行以下命令。
- # 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脚本检测锁定的用户账户。
- # 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脚本来解锁多个用户。
- # 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.)