‘usermod’ & ‘passwd’命令用于一次锁定或解锁一个用户帐户,但您可能需要编写一些小的 shell 脚本来对多个用户帐户执行此操作。
在本教程中,我们将解释如何使用 shell 脚本在 Linux 中同时锁定和解锁多个用户帐户。
什么是 passwd 命令?
在passwd文件的命令是最常用的命令由Linux的管理员到在更新用户的认证令牌的一个/etc/shadow
文件调用的Linux-PAM和Libuser API。
什么是 usermod 命令?
该“usermod命令”命令是经常使用的Linux管理员来修改一个给定的用户帐户信息。它主要用于将用户添加到特定组。
创建 shell 脚本
我们将创建以下三个shell 脚本来一次锁定和解锁多个帐户。
-
创建一个脚本来锁定用户
-
创建脚本以检查锁定或解锁用户的状态
-
创建一个脚本来解锁用户
列出需要锁定或解锁的用户列表,每个用户必须在一个单独的行中。
$ cat user-lists.txt user1 user2 user3 user4 user5
1)在Linux中锁定多个用户
使用以下 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 user1. passwd: Success Locking password for user user2. passwd: Success Locking password for user user3. passwd: Success Locking password for user user4. passwd: Success Locking password for user user5. passwd: Success
2)在Linux中检查多个锁定用户的状态
使用以下 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
最后,运行脚本检查是否所有用户都已成功锁定:
user1 LK 2021-06-4 0 99999 7 -1(密码已锁定。) user2 LK 2021-06-4 0 99999 7 -1(密码已锁定。) user3 LK 2021-06-4 0 99999 7 -1(密码已锁定。) user4 LK 2021-06-4 0 99999 7 -1(密码已锁定。) user5 LK 2021-06-4 0 99999 7 -1(密码已锁定。)
如果上面的输出显示'LK'
在用户名之后,则用户的密码被锁定。
3)在Linux中解锁多个用户
使用以下 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 user1. passwd: Success Unlocking password for user user2. passwd: Success Unlocking password for user user3. passwd: Success Unlocking password for user user4. passwd: Success Unlocking password for user user5. passwd: Success
解锁后,运行以下shell脚本user-lock-status.sh
检查是否所有用户都已成功解锁:
# sh user-lock-status.sh user1 PS 2021-06-10 0 99999 7 -1 (Password set, SHA512 crypt.) user2 PS 2021-06-10 0 99999 7 -1 (Password set, SHA512 crypt.) user3 PS 2021-06-10 0 99999 7 -1 (Password set, SHA512 crypt.) user4 PS 2021-06-10 0 99999 7 -1 (Password set, SHA512 crypt.) user5 PS 2021-06-10 0 99999 7 -1 (Password set, SHA512 crypt.)
如果上面的输出显示'PS'
在用户名之后,那么用户的密码没有被锁定。