我们将创建以下三个Shell脚本来锁定和解锁多个帐户和查看账号状态。
- 创建锁定用户的脚本
- 创建查看用户状态的脚本
- 创建解锁用户的脚本
列出需要锁定或解锁的用户列表,前提是已经创建了下面的用户:
- [root@localhost ~]# cat user-lists.txt
- u1
- u2
- u3
- u4
- u5
- [root@localhost ~]# tail -5 /etc/passwd
- u1:x:1002:1002::/home/u1:/bin/bash
- u2:x:1003:1003::/home/u2:/bin/bash
- u3:x:1004:1004::/home/u3:/bin/bash
- u4:x:1005:1005::/home/u4:/bin/bash
- u5:x:1006:1006::/home/u5:/bin/bash
脚本一、锁定多个用户的脚本
使用以下Shell脚本在Linux中锁定多个用户帐户。
- [root@localhost ~]# vim user-lock.sh
- #!/bin/bash
- for user in `cat user-lists.txt`
- do
- passwd -l $user
- done
最后,运行脚本锁定文件中的用户列表。
- [root@localhost ~]# 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脚本来检查锁定的用户帐户的状态:
- [root@localhost ~]# vim user-lock-status.sh
- #!/bin/bash
- for user in `cat user-lists.txt`
- do
- passwd -S $user
- done
最后运行该脚本,查看用户锁定状态:
- [root@localhost ~]# sh user-lock-status.sh
- u1 LK 2021-02-28 0 99999 7 -1 (Password locked.)
- u2 LK 2021-02-28 0 99999 7 -1 (Password locked.)
- u3 LK 2021-02-28 0 99999 7 -1 (Password locked.)
- u4 LK 2021-02-28 0 99999 7 -1 (Password locked.)
- u5 LK 2021-02-28 0 99999 7 -1 (Password locked.)
如果上面的输出在用户名后面显示LK,则表明用户密码已锁定。
脚本三、解锁多个用户的脚本
使用以下Shell脚本来解锁多个用户帐户:
- [root@localhost ~]# vim user-unlock.sh
- #!/bin/bash
- for user in `cat user-lists.txt`
- do
- passwd -u $user
- done
运行该脚本解锁用户密码:
- [root@localhost ~]# 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
如果以上输出在用户名后面显示PS,则用户密码未锁定。
总结
在本教程中,学习了如何使用Shell脚本在Linux中锁定和解锁多个用户帐户。
原文地址:https://mp.weixin.qq.com/s?__biz=MzA4NzQzMzU4Mg==&mid=2652950641&idx=2&sn=fe30641d2bc3a4b55b9338783e87c261&chksm=8bedf870bc9a71663bd06b123045c98971f377f2ccd09f161abb0c5ea059992f350e70a2948d&mpshare=1&