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


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

文章插图
【在 Linux 中锁定和解锁用户帐户的三种方法】 
如果你已经在你的组织中实施了某种密码策略,你无需看这篇文章了 。
-- Magesh Maruthamuthu(作者)
如果你已经在你的组织中实施了某种密码策略,你无需看这篇文章了 。但是在这种情况下,如果你给账户设置了 24 小时的锁定期,你需要手动解锁用户帐户 。
本教程将帮助你在 linux 中手动锁定和解锁用户帐户 。
这可以通过三种方式使用以下两个 Linux 命令来完成 。
  • passwd:用于更新用户的身份验证令牌 。这个任务是通过调用 Linux PAM 和 libuser API 来实现 。
  • usermod:用于修改/更新给定用户的帐户信息 。它用于将用户添加到特定的组中等等功能 。
为了说明这一点,我们选择 daygeek 用户帐户 。让我们看看,怎么一步步来实现的 。
请注意,你必须使用你需要锁定或解锁的用户的帐户,而不是我们的帐户 。你可以使用 id 命令检查给定的用户帐户在系统中是否可用 。是的,我的这个帐户在我的系统中是可用的 。
# id daygeekuid=2240(daygeek) gid=2243(daygeek) groups=2243(daygeek),2244(ladmin)方法1: 如何使用 passwd 命令锁定、解锁和检查 Linux 中给定用户帐户的状态?passwd 命令是 Linux 管理员经常使用的命令之一 。它用于更新 /etc/shadow 文件中用户的身份验证令牌 。
使用 -l 开关运行 passwd 命令,锁定给定的用户帐户 。
# passwd -l daygeekLocking password for user daygeek.passwd: Success你可以通过 passwd 命令或从 /etc/shadow 文件中获取给定用户名来检查锁定的帐户状态 。
使用 passwd 命令检查用户帐户锁定状态 。
# passwd -S daygeek或# passwd --status daygeekdaygeek LK 2019-05-30 7 90 7 -1 (Password locked.)这将输出给定帐户密码状态的简短信息 。
  • LK:密码被锁定
  • NP:没有设置密码
  • PS:密码已设置
使用 /etc/shadow 文件检查锁定的用户帐户状态 。如果帐户已被锁定,密码前面将添加两个感叹号 。
# grep daygeek /etc/shadowdaygeek:!!$6$tGvVUhEY$PIkpI43HPaEoRrNJSRpM3H0YWOsqTqXCxtER6rak5PMaAoyQohrXNB0YoFCmAuh406n8XOvBBldvMy9trmIV00:18047:7:90:7:::使用 -u 开关运行 passwd 命令,可以解锁给定的用户帐户 。
# passwd -u daygeekUnlocking 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 daygeekdaygeek LK 2019-05-30 7 90 7 -1 (Password locked.)这将输出给定帐户密码状态的简短信息 。
  • LK:密码被锁定
  • NP:没有设置密码
  • PS:密码已设置
使用 /etc/shadow 文件检查锁定的用户帐户状态 。如果帐户已被锁定,密码前面将添加两个感叹号 。
# grep daygeek /etc/shadowdaygeek:!!$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/passwddaygeek:x:2240:2243::/home/daygeek:/sbin/nologin我们可以通过分配回原来的 shell 来启用用户的 ssh 访问 。
# usermod -s /bin/bash daygeek如何使用 shell 脚本锁定、解锁和检查 Linux 中多个用户帐户的状态?如果你想锁定/解锁多个帐户,那么你需要找个脚本 。
是的,我们可以编写一个小的 shell 脚本来执行这个操作 。为此,请使用以下 shell 脚本 。
创建用户列表 。每个用户信息在单独的行中 。


推荐阅读