“usermod”和“passwd”命令用於一次鎖定或解鎖一個用戶帳戶,但也可以使用shell 循環用於一次設置多個用戶賬號。 |
我們將創建以下三個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中鎖定和解鎖多個用戶帳戶。