云网牛站
所在位置:首页 > Linux命令 > 使用passwd、usermod命令在Linux中锁定和解锁用户帐户

使用passwd、usermod命令在Linux中锁定和解锁用户帐户

2019-06-11 15:39:15作者:吴析稿源:云网牛站

本文将帮助你在Linux操作系统中手动锁定和解锁用户帐户。

使用passwd、usermod命令在Linux中锁定和解锁用户帐户

 

前言

如果你的组织中已实施密码策略,则无需查找此选项,但是,如果你将锁定时间设置为24小时,则在这种情况下你可能需要手动解锁用户的帐户。

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

1、passwd命令用于更新用户的身份验证令牌,通过调用Linux-PAM和Libuser API来完成此任务,参考Linux passwd命令示例

2、usermod命令用于修改/更新给定用户的帐户信息,它曾用于将用户添加到特定组等,参考用usermod、gpasswd、Shell script、Manual Method将用户添加到组

为了阐明这一点,我们选择了ywnz用户帐户,让我们看看,如何一步一步地做。

请注意,你必须使用你需要锁定或解锁的相应用户帐户,而不是我们的帐户。

你可以使用id命令检查系统中是否有可用的给定用户帐户,我的帐户在系统中可用:

# id ywnz

uid=2240(ywnz) gid=2243(ywnz) groups=2243(ywnz),2244(ladmin)

 

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

passwd命令是Linux管理员经常使用的命令之一。

它用于在/etc/shadow文件中更新用户的身份验证令牌。

使用-l参数运行passwd命令以锁定给定的用户帐户:

# passwd -l ywnz

Locking password for user ywnz.

passwd: Success

可以从/etc/shadow文件中检查锁定的帐户状态,使用passwd命令检查用户帐户锁定状态:

# passwd -S ywnz

或者:

# passwd --status ywnz

ywnz LK 2019-05-30 7 90 7 -1 (Password locked.)

这将输出有关给定帐户的密码状态的简短信息:LK:密码锁定、NP:没有密码、PS:密码设置。

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

# grep ywnz /etc/shadow

ywnz:!!$6$tGvVUhEY$PIkpI43HPaEoRrNJSRpM3HldvMy9trmIV00:18047:7:90:7:::

使用-u参数运行passwd命令以解锁给定的用户帐户:

# passwd -u ywnz

Unlocking password for user ywnz.

passwd: Success

 

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

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

使用-L参数运行usermod命令以锁定给定的用户帐户:

# usermod --lock ywnz

或者:

# usermod -L ywnz

可以从/etc/shadow文件中检查锁定的帐户状态,使用passwd命令检查用户帐户锁定状态:

# passwd -S ywnz

或者:

# passwd --status ywnz

ywnz LK 2019-05-30 7 90 7 -1 (Password locked.)

这将输出有关给定帐户的密码状态的简短信息:LK:密码锁定、NP:没有密码、PS:密码设置。

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

# grep ywnz /etc/shadow

ywnz:!!$6$tGvVUhEY$PIkpI43HPaEoRrNJSRpM3HldvMy9trmIV00:18047:7:90:7:::

使用-U参数运行usermod命令以解锁给定的用户帐户:

# usermod --unlock ywnz

或者:

# usermod -U ywnz

 

方法3、使用usermod命令启用SSH访问Linux中的给定用户帐户

可以通过将nologin shell分配给给定用户来完成,为此,请运行以下命令:

# usermod -s /sbin/nologin ywnz

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

# grep ywnz /etc/passwd

ywnz:x:2240:2243::/home/ywnz:/sbin/nologin

我们可以通过分配回旧shell来启用用户ssh访问:

# usermod -s /bin/bash ywnz

附:使用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脚本检查Linux中的锁定用户帐户:

# 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脚本解锁Linux中的多个用户帐户:

# 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系统下使用grep命令搜索文件的详细用法

Linux命令子频道
精选文章
热门文章