如何使用passwd命令处理Linux中的帐户密码

时间:2020-03-05 15:29:07  来源:igfitidea点击:

passwd命令允许我们在Linux中更改用户密码,但它可以执行更多。
我们可以锁定(和解锁)用户。
我们可以让用户更改下一个登录名和更多的密码。

在本教程中,将介绍我们可以用作sysadmin的passwd命令的一些有用示例。

passwd命令示例

passwd命令适用于/etc/passwd文件。
我们所做的更改在此反映。

密码存储在Linux中的哪个位置?
它存储在/etc/shadow文件中的加密表单中。

让我们看看passwd命令的一些示例。

1.更改自己的密码

要更改当前用户的密码(例如:我们自己的帐户密码,只需在没有任何选项的情况下输入passwd命令。

passwd

我们将被要求首先使用我们当前的密码:

Hyman@theitroad:~$passwd
Changing password for christopher.
(current) UNIX password: 
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully

如果我们输入当前密码作为新密码,系统会抛出错误消息,说密码不变,并再次提示我们输入新密码。

2.创建root密码

许多Linux发行版都没有root密码集。
访问root帐户的唯一方法是通过sudo或者su命令。
这是因为像'toor'这样的默认密码将使一个易受攻击者攻击的系统。

我们必须是sudo用户来创建root密码:

sudo passwd root

这是输出:

Hyman@theitroad:~$sudo passwd root
[sudo] password for christopher:             
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully

这是正确配置用户访问至关重要的原因之一。
我们不希望所有用户能够更改root密码!

3.更改其他用户的密码

我们可以使用passwd命令用作root或者sudo来更改Linux中的用户密码。

sudo passwd user_name

显然,我们将不会被要求旧密码。
我们在全部重置密码并作为admin,我们应该能够做到这一点。

Hyman@theitroad:/home/christopher# passwd christopher
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully

4.检查密码状态

我们可以查看用户密码的状态:

sudo passwd -S user_name

这是一个例子:

Hyman@theitroad:~$passwd -S christopher
igi P 06/13/2017 0 99999 7 -1

让我们查看此信息。
我会将它组织成一个表,以便更容易阅读。
然后我会讨论某些值的意思。

用户名状态日期上次改变最低年龄最大年龄警告期不活动时期
igiP06/13/20170999997-1

让我们先在状态列中查看。
以下是此字段的可能选项。

状态描述
P可用密码
NP没有密码
l锁定密码

有一些特殊数字保留用于在密码规则上设置参数。

年龄的特殊号码描述
9999永远不会过期
0可以随时更改
-1没有活跃

其中我们可以看到警告期限在7天内设置,但由于禁用不活动时段,并且年龄设置为永不过期,因此不会发生警告。

5.检查所有帐户的密码状态

我们还可以检查系统上所有用户帐户的密码状态:

sudo passwd -Sa

6.强制用户在下次登录时更改密码

我们可以使用-e选项立即过期用户的密码。
这将强制用户在下次登录时更改密码。

sudo passwd -e user_name

这是强迫抵消的看起来如何:

Hyman@theitroad:/home/christopher# passwd -e christopher
passwd: password expiry information changed.

现在,我们可以检查状态以记录更改:

Hyman@theitroad:/home/christopher# passwd -S christopher
christopher P 01/01/1970 0 99999 7 -1

如我们所见,密码集日期已更改为"01/01/1970"。
此日期历史地与UNIX系统相关联,因为它是"时代"日期。

这基本上意味着在Unix历史中,该日期是日期'0'(在32位比例)。

我们已成功过期密码。
下次我的帐户登录时,它将被强制更改为不同的密码。

7.锁定或者解锁用户帐户

passwd命令的-l选项允许我们在Linux中锁定用户帐户:

sudo passwd -l user_name

在用户帐户上使用它后,密码将不再工作以授予访问权限。

Hyman@theitroad:/home/christopher# passwd -l christopher
passwd: password expiry information changed.

我们可以根据前面讨论的,确认使用-s选项的用户密码的状态。
l代表此处的输出中的锁定。

Hyman@theitroad:/home/christopher# passwd -S christopher
christopher L 06/13/2017 0 99999 7 -1

解锁用户帐户同样容易。
使用-u选项解锁用户:

Hyman@theitroad:/home/christopher# passwd -u christopher
passwd: password expiry information changed.

我们可以确认状态。
输出装置中的p例如可用密码:密码可以与帐户一起使用。

Hyman@theitroad:/home/christopher# passwd -S christopher
christopher P 06/13/2017 0 99999 7 -1

8.从帐户中删除密码并使它无密码

我没有看到任何实际用例,但我们可以删除某个帐户的密码。
这样,该帐户不会需要访问系统的密码。
这不利于安全性。

sudo passwd -d user_name