Linux 中锁定和解锁用户帐户的三种方法
如果你已经在你的组织中实施了某种密码策略,你无需看这篇文章了。但是在这种情况下,如果你给账户设置了 24 小时的锁定期,你需要手动解锁用户帐户。
本教程将帮助你在 Linux 中手动锁定和解锁用户帐户。
这可以通过三种方式使用以下两个 Linux 命令来完成。
passwd usermod
为了说明这一点,我们选择 daygeek 用户帐户。让我们看看,怎么一步步来实现的。
请注意,你必须使用你需要锁定或解锁的用户的帐户,而不是我们的帐户。你可以使用 id 命令检查给定的用户帐户在系统中是否可用。是的,我的这个帐户在我的系统中是可用的。
# id daygeek
uid=2240(daygeek) gid=2243(daygeek) groups=2243(daygeek),2244(ladmin)
方法1: 如何使用 passwd 命令锁定、解锁和检查 Linux 中给定用户帐户的状态?
passwd 命令是 Linux 管理员经常使用的命令之一。它用于更新 /etc/shadow 文件中用户的身份验证令牌。
使用 -l 开关运行 passwd 命令,锁定给定的用户帐户。
# passwd -l daygeek
Locking password for user daygeek.
passwd: Success
你可以通过 passwd 命令或从 /etc/shadow
文件中获取给定用户名来检查锁定的帐户状态。
使用 passwd 命令检查用户帐户锁定状态。
# passwd -S daygeek
或
# passwd --status daygeek
daygeek LK 2019-05-30 7 90 7 -1 (Password locked.)
这将输出给定帐户密码状态的简短信息。
LK NP PS
使用 /etc/shadow 文件检查锁定的用户帐户状态。如果帐户已被锁定,密码前面将添加两个感叹号。
# grep daygeek /etc/shadow
daygeek:!!$6$tGvVUhEY$PIkpI43HPaEoRrNJSRpM3H0YWOsqTqXCxtER6rak5PMaAoyQohrXNB0YoFCmAuh406n8XOvBBldvMy9trmIV00
:18047:7:90:7:::
使用 -u 开关运行 passwd 命令,可以解锁给定的用户帐户。
# passwd -u daygeek
Unlocking password for user daygeek.
passwd: Success
方法2:如何使用 usermod 命令在 Linux 中锁定、解锁和检查给定用户帐户的状态?
usermod 命令也经常被 Linux 管理员使用。 usermod 命令用于修改/更新给定用户的帐户信息。它用于将用户添加到特定的组中,等等。
使用 -L 开关运行 usermod 命令,锁定给定的用户帐户。
# usermod --lock daygeek
或
# usermod -L daygeek
你可以通过 passwd 命令或从 /etc/shadow 文件中获取给定用户名来检查锁定的帐户状态。
使用 passwd 命令检查用户帐户锁定状态。
# passwd -S daygeek
或
# passwd --status daygeek
daygeek LK 2019-05-30 7 90 7 -1 (Password locked.)
这将输出给定帐户密码状态的简短信息。
LK NP PS
使用 /etc/shadow 文件检查锁定的用户帐户状态。如果帐户已被锁定,密码前面将添加两个感叹号。
# grep daygeek /etc/shadow
daygeek:!!$6$tGvVUhEY$PIkpI43HPaEoRrNJSRpM3H0YWOsqTqXCxtER6rak5PMaAoyQohrXNB0YoFCmAuh406n8XOvBBldvMy9trmIV00
:18047:7:90:7:::
使用 -U 开关运行 usermod 命令以解锁给定的用户帐户。
# usermod --unlock daygeek
或
# usermod -U daygeek
方法-3:如何在 Linux 中使用 usermod 命令禁用、启用对给定用户帐户的 SSH 访问?
usermod 命令也是经常被 Linux 管理员使用的命令。 usermod 命令用于修改/更新给定用户的帐户信息。它用于将用户添加到特定的组中,等等。
替代的,锁定可以通过将 nologin shell 分配给给定用户来完成。为此,可以运行以下命令。
# usermod -s /sbin/nologin daygeek
你可以通过从 /etc/passwd
文件中给定用户名来检查锁定的用户帐户详细信息。
# grep daygeek /etc/passwd
daygeek:x:2240:2243::/home/daygeek:/sbin/nologin
我们可以通过分配回原来的 shell 来启用用户的 ssh 访问。
# usermod -s /bin/bash daygeek
如何使用 shell 脚本锁定、解锁和检查 Linux 中多个用户帐户的状态?
如果你想锁定/解锁多个帐户,那么你需要找个脚本。
是的,我们可以编写一个小的 shell 脚本来执行这个操作。为此,请使用以下 shell 脚本。
创建用户列表。每个用户信息在单独的行中。
$ cat user-lists.txt
u1 u2 u3 u4 u5
使用以下 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 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 脚本检查锁定的用户帐户。
# 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
最后运行脚本来达成目标。
# sh user-lock-status.sh
u1 LK 2019-06-10 0 99999 7 -1 (Password locked.)
u2 LK 2019-06-10 0 99999 7 -1 (Password locked.)
u3 LK 2019-06-10 0 99999 7 -1 (Password locked.)
u4 LK 2019-06-10 0 99999 7 -1 (Password locked.)
u5 LK 2019-06-10 0 99999 7 -1 (Password locked.)
使用下面的 shell 脚本来解锁多个用户。
# 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 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
运行相同的 shell 脚本 user-lock-status.sh
,检查这些锁定的用户帐户在 Linux 中是否被解锁。
# sh user-lock-status.sh
u1 PS 2019-06-10 0 99999 7 -1 (Password set, SHA512 crypt.)
u2 PS 2019-06-10 0 99999 7 -1 (Password set, SHA512 crypt.)
u3 PS 2019-06-10 0 99999 7 -1 (Password set, SHA512 crypt.)
u4 PS 2019-06-10 0 99999 7 -1 (Password set, SHA512 crypt.)
u5 PS 2019-06-10 0 99999 7 -1 (Password set, SHA512 crypt.)
总结
以上所述是小编给大家介绍的Linux 中锁定和解锁用户帐户的三种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对ZaLou.Cn网站的支持! 如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
- 数据库简介
- sql server实现自定义分割月功能
- jdbc基础 (三) 大文本、二进制数据处理
- 如何修改自增列值以及相应的解决方法
- linux下安装openssh-server
- jdbc基础 (二) 通过properties配置文件连接数据库
- SQL Server 存储过程的几种常见写法分析
- servlet请求转发、包含以及重定向
- servlet设置缓存时间以及文件的下载
- 用python做科学计算之pandas入门简介
- Servlet响应的中文字符集问题
- jdbc基础 (五) 连接池与数据源 DBCP以及C3P0的使用
- JDBC
- ASP.NET Core 性能对比评测(ASP.NET,Python,Java,NodeJS)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android图片采样缩放功能实例代码
- Android开发中使用Intent打开第三方应用及验证可用性的方法详解
- Android 7.0开发获取存储设备信息的方法
- Android中默认系统的声音/大小修改和配置详解
- Android开发中计算器的sin、cos及tan值计算问题分析
- Android开发实现绘制淘宝收益图折线效果示例
- Android自定义View实现搜索框(SearchView)功能
- android 监听SD卡文件变化的实现代码
- Android监听手机短信的示例代码
- Android开发之图片压缩工具类完整实例
- Android6.0开发中屏幕旋转原理与流程分析
- Android中WebView的基本配置与填坑记录大全
- Android开发实现ListView异步加载数据的方法详解
- Android开发实现AlertDialog中View的控件设置监听功能分析
- 详解Android 语音播报实现方案(无SDK)