教你如何在 Linux 中锁定和解锁多个用户教程
usermod”和“passwd”命令用于一次锁定或解锁一个用户帐户,但也可以使用shell 循环用于一次设置多个用户账号。
我们将创建以下三个Shell脚本来锁定和解锁多个帐户和查看账号状态。
- 创建锁定用户的脚本
- 创建查看用户状态的脚本
- 创建解锁用户的脚本
列出需要锁定或解锁的用户列表,前提是已经创建了下面的用户:
<pre style="margin-top:0px;margin-bottom:0px;padding:0px;max-width:100%;font-size:inherit;color:inherit;line-height:inherit;">```
[root@localhost ~]# cat user-lists.txt <br></br>u1<br></br>u2<br></br>u3<br></br>u4<br></br>u5<br></br>[root@localhost ~]# tail -5 /etc/passwd<br></br>u1:x:1002:1002::/home/u1:/bin/bash<br></br>u2:x:1003:1003::/home/u2:/bin/bash<br></br>u3:x:1004:1004::/home/u3:/bin/bash<br></br>u4:x:1005:1005::/home/u4:/bin/bash<br></br>u5:x:1006:1006::/home/u5:/bin/bash<br></br>
脚本一、锁定多个用户的脚本
使用以下Shell脚本在Linux中锁定多个用户帐户。
<pre style="margin-top:0px;margin-bottom:0px;padding:0px;max-width:100%;font-size:inherit;color:inherit;line-height:inherit;">```
[root@localhost ~]# vim user-lock.sh <br></br><br></br>#!/bin/bash<br></br>for user in `cat user-lists.txt`<br></br>do<br></br>passwd -l $user<br></br>done<br></br>
最后,运行脚本锁定文件中的用户列表。
<pre style="margin-top:0px;margin-bottom:0px;padding:0px;max-width:100%;font-size:inherit;color:inherit;line-height:inherit;">```
[root@localhost ~]# sh user-lock.sh <br></br>Locking password for user u1.<br></br>passwd: Success<br></br>Locking password for user u2.<br></br>passwd: Success<br></br>Locking password for user u3.<br></br>passwd: Success<br></br>Locking password for user u4.<br></br>passwd: Success<br></br>Locking password for user u5.<br></br>passwd: Success<br></br>
脚本二、查看用户锁定状态的脚本
使用以下shell脚本来检查锁定的用户帐户的状态:
<pre style="margin-top:0px;margin-bottom:0px;padding:0px;max-width:100%;font-size:inherit;color:inherit;line-height:inherit;">```
[root@localhost ~]# vim user-lock-status.sh<br></br><br></br>#!/bin/bash<br></br>for user in `cat user-lists.txt`<br></br>do<br></br>passwd -S $user<br></br>done<br></br>
最后运行该脚本,查看用户锁定状态:
<pre style="margin-top:0px;margin-bottom:0px;padding:0px;max-width:100%;font-size:inherit;color:inherit;line-height:inherit;">```
[root@localhost ~]# sh user-lock-status.sh <br></br>u1 LK 2021-02-28 0 99999 7 -1 (Password locked.)<br></br>u2 LK 2021-02-28 0 99999 7 -1 (Password locked.)<br></br>u3 LK 2021-02-28 0 99999 7 -1 (Password locked.)<br></br>u4 LK 2021-02-28 0 99999 7 -1 (Password locked.)<br></br>u5 LK 2021-02-28 0 99999 7 -1 (Password locked.)<br></br>
如果上面的输出在用户名后面显示LK
,则表明用户密码已锁定。
脚本三、解锁多个用户的脚本
使用以下Shell脚本来解锁多个用户帐户:
<pre style="margin-top:0px;margin-bottom:0px;padding:0px;max-width:100%;font-size:inherit;color:inherit;line-height:inherit;">```
[root@localhost ~]# vim user-unlock.sh<br></br><br></br>#!/bin/bash<br></br>for user in `cat user-lists.txt`<br></br>do<br></br>passwd -u $user<br></br>done<br></br>
运行该脚本解锁用户密码:
<pre style="margin-top:0px;margin-bottom:0px;padding:0px;max-width:100%;font-size:inherit;color:inherit;line-height:inherit;">```
[root@localhost ~]# sh user-unlock.sh <br></br>Unlocking password for user u1.<br></br>passwd: Success<br></br>Unlocking password for user u2.<br></br>passwd: Success<br></br>Unlocking password for user u3.<br></br>passwd: Success<br></br>Unlocking password for user u4.<br></br>passwd: Success<br></br>Unlocking password for user u5.<br></br>passwd: Success<br></br>
如果以上输出在用户名后面显示PS
,则用户密码未锁定。