Merge pull request #14395 from wxy/20190621-Three-Ways-to-Lock-and-Unlock-User-Account-in-Linux

PRF&PUB:20190621 Three Ways to Lock and Unlock User Account in Linux
This commit is contained in:
Xingyu.Wang 2019-07-01 17:09:55 +08:00 committed by GitHub
commit fa08f929b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,33 +1,29 @@
[#]: collector: (lujun9972)
[#]: translator: (heguagnzhi)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: reviewer: (wxy)
[#]: publisher: (wxy)
[#]: url: (https://linux.cn/article-11043-1.html)
[#]: subject: (Three Ways to Lock and Unlock User Account in Linux)
[#]: via: (https://www.2daygeek.com/lock-unlock-disable-enable-user-account-linux/)
[#]: author: (Magesh Maruthamuthu https://www.2daygeek.com/author/magesh/)
在Linux中锁定和解锁用户帐户的三种方法
在 Linux 中锁定和解锁用户帐户的三种方法
======
![](https://linux.cn/article-11043-1.html)
如果密码策略已经在你的组织中实施了,你无需看这篇文章了
如果你已经在你的组织中实施了某种密码策略,你无需看这篇文章了。但是在这种情况下,如果你给账户设置了 24 小时的锁定期,你需要手动解锁用户帐户
但是在这种情况下如果你设置了24小时的锁定期你需要手动解锁用户帐户。
本教程将帮助你在Linux中手动锁定和解锁用户帐户。
本教程将帮助你在 Linux 中手动锁定和解锁用户帐户。
这可以通过三种方式使用以下两个 Linux 命令来完成。
* **`passwd:`** passwd 命令用于更新用户的身份验证令牌。这个任务是通过调用 Linux-PAM 和 Libuser API 来实现。
* **`usermod:`** usermod 命令用于修改/更新给定用户的帐户信息。它用于将用户添加到特定的组中,等等其他功能,
* `passwd`:用于更新用户的身份验证令牌。这个任务是通过调用 Linux PAM 和 libuser API 来实现。
* `usermod`:用于修改/更新给定用户的帐户信息。它用于将用户添加到特定的组中等等功能。
为了说明这一点,我们选择 `daygeek` 用户帐户。让我们看看,怎么一步步来实现的。
请注意,你必须使用你需要锁定或解锁的用户的帐户,而不是我们自己的帐户。
您可以使用 `id Command` 检查给定的用户帐户在系统中是否可用。是的,我的帐户在系统中是可用的。
请注意,你必须使用你需要锁定或解锁的用户的帐户,而不是我们的帐户。你可以使用 `id` 命令检查给定的用户帐户在系统中是否可用。是的,我的这个帐户在我的系统中是可用的。
```
# id daygeek
@ -37,11 +33,9 @@ uid=2240(daygeek) gid=2243(daygeek) groups=2243(daygeek),2244(ladmin)
### 方法1: 如何使用 passwd 命令锁定、解锁和检查 Linux 中给定用户帐户的状态?
passwd 命令是 Linux 管理员经常使用的命令之一。
`passwd` 命令是 Linux 管理员经常使用的命令之一。它用于更新 `/etc/shadow` 文件中用户的身份验证令牌。
它用于更新 `/etc/shadow` 文件中用户的身份验证令牌。
使用 `-l` 开关运行 passwd 命令,锁定给定的用户帐户。
使用 `-l` 开关运行 `passwd` 命令,锁定给定的用户帐户。
```
# passwd -l daygeek
@ -50,22 +44,23 @@ Locking password for user daygeek.
passwd: Success
```
你可以通过 passwd 命令或从 /etc/shadow 文件中获取给定用户名来检查锁定的帐户状态。
你可以通过 `passwd` 命令或从 `/etc/shadow` 文件中获取给定用户名来检查锁定的帐户状态。
使用 passwd 命令检查用户帐户锁定状态。
使用 `passwd` 命令检查用户帐户锁定状态。
```
# passwd -S daygeek
or
# passwd --status daygeek
daygeek LK 2019-05-30 7 90 7 -1 (Password locked.)
```
将输出给定帐户密码状态的简短信息。
* **`LK:`**` ` 密码锁定
* **`NP:`**` ` 没有密码
* **`PS:`**` ` 密码设置
这将输出给定帐户密码状态的简短信息。
* `LK`:密码被锁定
* `NP`:没有设置密码
* `PS`:密码已设置
使用 `/etc/shadow` 文件检查锁定的用户帐户状态。如果帐户已被锁定,密码前面将添加两个感叹号。
@ -74,7 +69,8 @@ daygeek LK 2019-05-30 7 90 7 -1 (Password locked.)
daygeek:!!$6$tGvVUhEY$PIkpI43HPaEoRrNJSRpM3H0YWOsqTqXCxtER6rak5PMaAoyQohrXNB0YoFCmAuh406n8XOvBBldvMy9trmIV00:18047:7:90:7:::
```
使用 `-u` 开关运行 passwd 命令,解锁给定的用户帐户。
使用 `-u` 开关运行 `passwd` 命令,可以解锁给定的用户帐户。
```
# passwd -u daygeek
@ -83,26 +79,25 @@ Unlocking password for user daygeek.
passwd: Success
```
### 方法2:如何使用 usermod 命令在 Linux 中锁定、解锁和检查给定用户帐户的状态?
### 方法2如何使用 usermod 命令在 Linux 中锁定、解锁和检查给定用户帐户的状态?
甚至usermod 命令也经常被 Linux 管理员使用
`usermod` 命令也经常被 Linux 管理员使用。`usermod` 命令用于修改/更新给定用户的帐户信息。它用于将用户添加到特定的组中,等等
usermod 命令用于修改/更新给定用户的帐户信息。它用于将用户添加到特定的组中,等等。,
使用 `-L` 开关运行 usermod 命令,锁定给定的用户帐户。
使用 `-L` 开关运行 `usermod` 命令,锁定给定的用户帐户。
```
# usermod --lock daygeek
or
# usermod -L daygeek
```
你可以通过 passwd 命令或从 /etc/shadow 文件中获取给定用户名来检查锁定的帐户状态。
使用 passwd 命令检查用户帐户锁定状态。
你可以通过 `passwd` 命令或从 `/etc/shadow` 文件中获取给定用户名来检查锁定的帐户状态。
使用 `passwd` 命令检查用户帐户锁定状态。
```
# passwd -S daygeek
or
# passwd --status daygeek
daygeek LK 2019-05-30 7 90 7 -1 (Password locked.)
@ -110,11 +105,11 @@ daygeek LK 2019-05-30 7 90 7 -1 (Password locked.)
这将输出给定帐户密码状态的简短信息。
* **`LK:`**` ` Password locked
* **`NP:`**` ` No password
* **`PS:`**` ` Password set
* `LK`:密码被锁定
* `NP`:没有设置密码
* `PS`:密码已设置
使用 /etc/shadow 文件检查锁定的用户帐户状态。如果帐户已被锁定,密码前面将添加两个感叹号。
使用 `/etc/shadow` 文件检查锁定的用户帐户状态。如果帐户已被锁定,密码前面将添加两个感叹号。
```
# grep daygeek /etc/shadow
@ -122,29 +117,25 @@ daygeek LK 2019-05-30 7 90 7 -1 (Password locked.)
daygeek:!!$6$tGvVUhEY$PIkpI43HPaEoRrNJSRpM3H0YWOsqTqXCxtER6rak5PMaAoyQohrXNB0YoFCmAuh406n8XOvBBldvMy9trmIV00:18047:7:90:7:::
```
使用 `-U` 开关运行 usermod 命令以解锁给定的用户帐户。
使用 `-U` 开关运行 `usermod` 命令以解锁给定的用户帐户。
```
# usermod --unlock daygeek
or
# usermod -U daygeek
```
###方法-3:如何在 Linux 中使用 usermod 命令禁用、启用对给定用户帐户的 SSH 访问?
### 方法-3如何在 Linux 中使用 usermod 命令禁用、启用对给定用户帐户的 SSH 访问?
甚至usermod 命令也是经常被 Linux 管理员使用的命令。
`usermod` 命令也是经常被 Linux 管理员使用的命令。`usermod` 命令用于修改/更新给定用户的帐户信息。它用于将用户添加到特定的组中,等等。
usermod 命令用于修改/更新给定用户的帐户信息。它用于将用户添加到特定的组中,等等。,
或者,这可以通过将 `nologin` shell 分配给给定用户来完成。为此,可以运行以下命令。
替代的,锁定可以通过将 `nologin` shell 分配给给定用户来完成。为此,可以运行以下命令。
```
# usermod -s /sbin/nologin daygeek
```
You can check the locked user account details by greping the given user name from /etc/passwd file.
你可以通过从 /etc/passwd 文件中给定用户名来检查锁定的用户帐户详细信息。
你可以通过从 `/etc/passwd` 文件中给定用户名来检查锁定的用户帐户详细信息。
```
# grep daygeek /etc/passwd
@ -152,17 +143,15 @@ You can check the locked user account details by greping the given user name fro
daygeek:x:2240:2243::/home/daygeek:/sbin/nologin
```
我们可以通过分配回原来的 shell 来启用用户 ssh 访问。
我们可以通过分配回原来的 shell 来启用用户 ssh 访问。
```
# usermod -s /bin/bash daygeek
```
###如何使用 shell 脚本锁定、解锁和检查 Linux 中多个用户帐户的状态?
如果你想锁定/解锁多个帐户,那么你需要寻找脚本。
### 如何使用 shell 脚本锁定、解锁和检查 Linux 中多个用户帐户的状态?
如果你想锁定/解锁多个帐户,那么你需要找个脚本。
是的,我们可以编写一个小的 shell 脚本来执行这个操作。为此,请使用以下 shell 脚本。
@ -186,17 +175,17 @@ u5
#!/bin/bash
for user in `cat user-lists.txt`
do
passwd -l $user
passwd -l $user
done
```
将`user-lock.sh` 文件设置为可执行权限
`user-lock.sh` 文件设置为可执行权限。
```
# chmod + user-lock.sh
```
最后运行脚本来实现这一点
最后运行脚本来达成目标
```
# sh user-lock.sh
@ -221,7 +210,7 @@ passwd: Success
#!/bin/bash
for user in `cat user-lists.txt`
do
passwd -S $user
passwd -S $user
done
```
@ -231,7 +220,7 @@ done
# chmod + user-lock-status.sh
```
最后运行脚本来实现这一点
最后运行脚本来达成目标
```
# sh user-lock-status.sh
@ -243,7 +232,6 @@ u4 LK 2019-06-10 0 99999 7 -1 (Password locked.)
u5 LK 2019-06-10 0 99999 7 -1 (Password locked.)
```
使用下面的 shell 脚本来解锁多个用户。
```
@ -252,17 +240,17 @@ u5 LK 2019-06-10 0 99999 7 -1 (Password locked.)
#!/bin/bash
for user in `cat user-lists.txt`
do
passwd -u $user
passwd -u $user
done
```
设置 `user-unlock.sh` 可执行权限。
设置 `user-unlock.sh` 可执行权限。
```
# chmod + user-unlock.sh
```
最后运行脚本来实现这一点
最后运行脚本来达成目标
```
# sh user-unlock.sh
@ -279,7 +267,7 @@ Unlocking password for user u5.
passwd: Success
```
运行相同的 shell 脚本 `user-lock-status.sh` ,检查这些锁定的用户帐户在 Linux 中是否被解锁。
运行相同的 shell 脚本 `user-lock-status.sh`,检查这些锁定的用户帐户在 Linux 中是否被解锁。
```
# sh user-lock-status.sh
@ -290,6 +278,7 @@ 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.)
```
--------------------------------------------------------------------------------
via: https://www.2daygeek.com/lock-unlock-disable-enable-user-account-linux/
@ -297,7 +286,7 @@ via: https://www.2daygeek.com/lock-unlock-disable-enable-user-account-linux/
作者:[Magesh Maruthamuthu][a]
选题:[lujun9972][b]
译者:[heguangzhi](https://github.com/heguangzhi)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出