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,则用户密码未锁定。


©著作权归作者所有:来自51CTO博客作者mob604756eba0ee的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. MFS+Keepalived双机高可用热备方案操作记录
  2. 小麦苗数据库巡检脚本,支持Oracle、MySQL、SQL Server和PG等数据
  3. 保留最新N份备份目录脚本
  4. centos 下 docker安装
  5. 利用expect 工具批量分发公钥给SVR,实现自动分发
  6. 中国学生发现1000行Python代码脚本中的bug,或影响上百篇学术论文
  7. NodeManager节点自身健康状态检测机制
  8. RabbitMQ Linux一键安装脚本定制
  9. 安全基线脚本

随机推荐

  1. Android用户界面 UI组件--ImageView及其
  2. Android + Eclipse + NDK + cygwin配制
  3. android 属性汇总
  4. Android(安卓)设置Dalog大小
  5. 在 android 上运行 python 的方法
  6. Android touch事件一种解释
  7. Android开发基础-系统结构
  8. Android百度地图开发(一)环境搭建
  9. 界面编程之基本界面组件(7)ImageView(图像视
  10. Android横竖屏切换实例总结