在 Linux 中锁定和解锁用户帐户的三种方法 | Linux 中国

2019 年 7 月 2 日 Linux中国
如果你已经在你的组织中实施了某种密码策略,你无需看这篇文章了。
-- Magesh Maruthamuthu

如果你已经在你的组织中实施了某种密码策略,你无需看这篇文章了。但是在这种情况下,如果你给账户设置了 24 小时的锁定期,你需要手动解锁用户帐户。

本教程将帮助你在 Linux 中手动锁定和解锁用户帐户。

这可以通过三种方式使用以下两个 Linux 命令来完成。

◈  passwd:用于更新用户的身份验证令牌。这个任务是通过调用 Linux PAM 和 libuser API 来实现。
◈  usermod:用于修改/更新给定用户的帐户信息。它用于将用户添加到特定的组中等等功能。

为了说明这一点,我们选择 daygeek 用户帐户。让我们看看,怎么一步步来实现的。

请注意,你必须使用你需要锁定或解锁的用户的帐户,而不是我们的帐户。你可以使用 id 命令检查给定的用户帐户在系统中是否可用。是的,我的这个帐户在我的系统中是可用的。

   
   
     
  1. # id daygeek
  2. uid=2240(daygeek) gid=2243(daygeek) groups=2243(daygeek),2244(ladmin)

方法1: 如何使用 passwd 命令锁定、解锁和检查 Linux 中给定用户帐户的状态?

passwd 命令是 Linux 管理员经常使用的命令之一。它用于更新 /etc/shadow 文件中用户的身份验证令牌。

使用 -l 开关运行 passwd 命令,锁定给定的用户帐户。

   
   
     
  1. # passwd -l daygeek
  2. Locking password for user daygeek.
  3. passwd: Success

你可以通过 passwd 命令或从 /etc/shadow 文件中获取给定用户名来检查锁定的帐户状态。

使用 passwd 命令检查用户帐户锁定状态。

   
   
     
  1. # passwd -S daygeek
  2. # passwd --status daygeek
  3. daygeek LK 2019-05-30 7 90 7 -1 (Password locked.)

这将输出给定帐户密码状态的简短信息。

◈  LK:密码被锁定
◈  NP:没有设置密码
◈  PS:密码已设置

使用 /etc/shadow 文件检查锁定的用户帐户状态。如果帐户已被锁定,密码前面将添加两个感叹号。

   
   
     
  1. # grep daygeek /etc/shadow
  2. daygeek:!!$6$tGvVUhEY$PIkpI43HPaEoRrNJSRpM3H0YWOsqTqXCxtER6rak5PMaAoyQohrXNB0YoFCmAuh406n8XOvBBldvMy9trmIV00:18047:7:90:7:::

使用 -u 开关运行 passwd 命令,可以解锁给定的用户帐户。

   
   
     
  1. # passwd -u daygeek
  2. Unlocking password for user daygeek.
  3. passwd: Success

方法2:如何使用 usermod 命令在 Linux 中锁定、解锁和检查给定用户帐户的状态?

usermod 命令也经常被 Linux 管理员使用。usermod 命令用于修改/更新给定用户的帐户信息。它用于将用户添加到特定的组中,等等。

使用 -L 开关运行 usermod 命令,锁定给定的用户帐户。

   
   
     
  1. # usermod --lock daygeek
  2. # usermod -L daygeek

你可以通过 passwd 命令或从 /etc/shadow 文件中获取给定用户名来检查锁定的帐户状态。

使用 passwd 命令检查用户帐户锁定状态。

   
   
     
  1. # passwd -S daygeek
  2. # passwd --status daygeek
  3. daygeek LK 2019-05-30 7 90 7 -1 (Password locked.)

这将输出给定帐户密码状态的简短信息。

◈  LK:密码被锁定
◈  NP:没有设置密码
◈  PS:密码已设置

使用 /etc/shadow 文件检查锁定的用户帐户状态。如果帐户已被锁定,密码前面将添加两个感叹号。

   
   
     
  1. # grep daygeek /etc/shadow
  2. daygeek:!!$6$tGvVUhEY$PIkpI43HPaEoRrNJSRpM3H0YWOsqTqXCxtER6rak5PMaAoyQohrXNB0YoFCmAuh406n8XOvBBldvMy9trmIV00:18047:7:90:7:::

使用 -U 开关运行 usermod 命令以解锁给定的用户帐户。

   
   
     
  1. # usermod --unlock daygeek
  2. # usermod -U daygeek

方法-3:如何在 Linux 中使用 usermod 命令禁用、启用对给定用户帐户的 SSH 访问?

usermod 命令也是经常被 Linux 管理员使用的命令。usermod 命令用于修改/更新给定用户的帐户信息。它用于将用户添加到特定的组中,等等。

替代的,锁定可以通过将 nologin shell 分配给给定用户来完成。为此,可以运行以下命令。

   
   
     
  1. # usermod -s /sbin/nologin daygeek

你可以通过从 /etc/passwd 文件中给定用户名来检查锁定的用户帐户详细信息。

   
   
     
  1. # grep daygeek /etc/passwd
  2. daygeek:x:2240:2243::/home/daygeek:/sbin/nologin

我们可以通过分配回原来的 shell 来启用用户的 ssh 访问。

   
   
     
  1. # usermod -s /bin/bash daygeek

如何使用 shell 脚本锁定、解锁和检查 Linux 中多个用户帐户的状态?

如果你想锁定/解锁多个帐户,那么你需要找个脚本。

是的,我们可以编写一个小的 shell 脚本来执行这个操作。为此,请使用以下 shell 脚本。

创建用户列表。每个用户信息在单独的行中。

   
   
     
  1. $ cat user-lists.txt
  2. u1
  3. u2
  4. u3
  5. u4
  6. u5

使用以下 shell 脚本锁定 Linux中 的多个用户帐户。

   
   
     
  1. # user-lock.sh
  2. #!/bin/bash
  3. for user in `cat user-lists.txt`
  4. do
  5. passwd -l $user
  6. done

将 user-lock.sh 文件设置为可执行权限。

   
   
     
  1. # chmod + user-lock.sh

最后运行脚本来达成目标。

   
   
     
  1. # sh user-lock.sh
  2. Locking password for user u1.
  3. passwd: Success
  4. Locking password for user u2.
  5. passwd: Success
  6. Locking password for user u3.
  7. passwd: Success
  8. Locking password for user u4.
  9. passwd: Success
  10. Locking password for user u5.
  11. passwd: Success

使用以下 shell 脚本检查锁定的用户帐户。

   
   
     
  1. # vi user-lock-status.sh
  2. #!/bin/bash
  3. for user in `cat user-lists.txt`
  4. do
  5. passwd -S $user
  6. done

设置 user-lock-status.sh 可执行权限。

   
   
     
  1. # chmod + user-lock-status.sh

最后运行脚本来达成目标。

   
   
     
  1. # sh user-lock-status.sh
  2. u1 LK 2019-06-10 0 99999 7 -1 (Password locked.)
  3. u2 LK 2019-06-10 0 99999 7 -1 (Password locked.)
  4. u3 LK 2019-06-10 0 99999 7 -1 (Password locked.)
  5. u4 LK 2019-06-10 0 99999 7 -1 (Password locked.)
  6. u5 LK 2019-06-10 0 99999 7 -1 (Password locked.)

使用下面的 shell 脚本来解锁多个用户。

   
   
     
  1. # user-unlock.sh
  2. #!/bin/bash
  3. for user in `cat user-lists.txt`
  4. do
  5. passwd -u $user
  6. done

设置 user-unlock.sh 可执行权限。

   
   
     
  1. # chmod + user-unlock.sh

最后运行脚本来达成目标。

   
   
     
  1. # sh user-unlock.sh
  2. Unlocking password for user u1.
  3. passwd: Success
  4. Unlocking password for user u2.
  5. passwd: Success
  6. Unlocking password for user u3.
  7. passwd: Success
  8. Unlocking password for user u4.
  9. passwd: Success
  10. Unlocking password for user u5.
  11. passwd: Success

运行相同的 shell 脚本 user-lock-status.sh,检查这些锁定的用户帐户在 Linux 中是否被解锁。

   
   
     
  1. # sh user-lock-status.sh
  2. u1 PS 2019-06-10 0 99999 7 -1 (Password set, SHA512 crypt.)
  3. u2 PS 2019-06-10 0 99999 7 -1 (Password set, SHA512 crypt.)
  4. u3 PS 2019-06-10 0 99999 7 -1 (Password set, SHA512 crypt.)
  5. u4 PS 2019-06-10 0 99999 7 -1 (Password set, SHA512 crypt.)
  6. u5 PS 2019-06-10 0 99999 7 -1 (Password set, SHA512 crypt.)

via: https://www.2daygeek.com/lock-unlock-disable-enable-user-account-linux/

作者:Magesh Maruthamuthu 选题:lujun9972 译者:heguangzhi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出


登录查看更多
0

相关内容

Linux 是一系列类 Unix 计算机操作系统的统称。该操作系统的核心为 Linux 内核。Linux 操作系统也是软件和开放源代码发展中最著名的例子之一。
【2020新书】实战R语言4,323页pdf
专知会员服务
98+阅读 · 2020年7月1日
一份简明有趣的Python学习教程,42页pdf
专知会员服务
76+阅读 · 2020年6月22日
Python导论,476页pdf,现代Python计算
专知会员服务
254+阅读 · 2020年5月17日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
83+阅读 · 2019年11月25日
msf实现linux shell反弹
黑白之道
49+阅读 · 2019年8月16日
渗透某德棋牌游戏
黑白之道
12+阅读 · 2019年5月17日
Kali Linux 渗透测试:密码攻击
计算机与网络安全
15+阅读 · 2019年5月13日
支持多标签页的Windows终端:Fluent 终端
Python程序员
7+阅读 · 2019年4月15日
百度开源项目OpenRASP快速上手指南
黑客技术与网络安全
5+阅读 · 2019年2月12日
Python用法速查网站
Python程序员
17+阅读 · 2018年12月16日
开源 | 基于Python的人脸识别:识别准确率高达99.38%!
全球人工智能
4+阅读 · 2017年7月29日
基于Python的开源人脸识别库:离线识别率高达99.38%
炼数成金订阅号
5+阅读 · 2017年7月28日
Arxiv
8+阅读 · 2019年5月20日
Arxiv
10+阅读 · 2019年2月19日
CoCoNet: A Collaborative Convolutional Network
Arxiv
6+阅读 · 2019年1月28日
Arxiv
7+阅读 · 2018年1月31日
VIP会员
相关资讯
msf实现linux shell反弹
黑白之道
49+阅读 · 2019年8月16日
渗透某德棋牌游戏
黑白之道
12+阅读 · 2019年5月17日
Kali Linux 渗透测试:密码攻击
计算机与网络安全
15+阅读 · 2019年5月13日
支持多标签页的Windows终端:Fluent 终端
Python程序员
7+阅读 · 2019年4月15日
百度开源项目OpenRASP快速上手指南
黑客技术与网络安全
5+阅读 · 2019年2月12日
Python用法速查网站
Python程序员
17+阅读 · 2018年12月16日
开源 | 基于Python的人脸识别:识别准确率高达99.38%!
全球人工智能
4+阅读 · 2017年7月29日
基于Python的开源人脸识别库:离线识别率高达99.38%
炼数成金订阅号
5+阅读 · 2017年7月28日
Top
微信扫码咨询专知VIP会员