Linux 用户密码

2025年3月17日 | 阅读 3 分钟

本章将介绍本地用户密码。您将学习如何更改密码,以及使用不同方法设置密码。

第一种方法是使用 passwd 命令

第二种方法是使用 openssl passwd 命令。


使用 passwd 命令

passwd

用户可以使用 passwd 命令设置密码。在输入新密码之前,必须输入旧密码两次。

语法

Linux User Password1

请看上面的截图,shell 警告用户不要创建简单密码。最终,如果尝试两三次后密码仍未更改,则 passwd 命令会失败,您必须再次运行该命令。

尽管这些规则不适用于 root 用户,他们也不需要输入旧密码。他们可以直接更改密码。

语法

示例

Linux User Password2

请看上面的截图,密码已成功更改,没有任何警告。


Shadow 文件

Shadow 文件是加密的用户密码,保存在 /etc/shadow 中。此文件是只读目录,只能由 root 用户读取。

语法

Linux User Password3

请看上面的截图,/etc/shadow 文件包含九列,用冒号分隔。

从左到右,这九列包含用户名、加密密码、上次更改密码的日期、密码必须保持不变的天数、密码过期日期、密码过期前的警告天数、过期后禁用账户的天数以及账户被禁用的日期。最后一列目前没有意义。


使用 passwd 加密

密码始终以加密格式存储。加密使用 crypt 函数完成。添加带密码用户的最简单方法是使用 useradd -m 命令添加用户,然后使用 passwd 命令设置用户密码。

语法

示例

语法

示例

Linux User Password4

请看上面的截图,用户 akki 已成功创建并设置了密码。


使用 openssl passwd

使用 openssl 加密

要创建带密码的用户,也可以使用 -p 选项,但这需要一个加密密码。

此加密密码可以使用 openssl passwd 命令生成。

openssl passwd 命令可以为同一个密码生成几个不同的哈希值。为此,它使用 salt

Linux User Password5

此 salt 可以选择,并显示为哈希值的前两个字符,如下所示。

Linux User Password6

请看上面的截图,前两个字符从定义的 salt '32' 开始。

要使用 openssl 命令创建带密码的用户,使用以下语法。

语法

示例

Linux User Password7

请看上面的截图,用户 aaa 已创建,其密码已保存在命令历史记录中。


/etc/login.defs

/etc/login.defs 文件包含一些默认设置,如密码老化和长度设置。

语法

Linux User Password8

chage

用户可以使用 chage 命令了解其密码信息。-l 选项用于列出信息。

语法

示例

Linux User Password9

禁用密码

/etc/shadow 中的密码不是以感叹号 (!) 开头保存的。如果感叹号出现在开头,则无法使用密码。

此功能可用于禁用密码,此过程称为 锁定、禁用暂停 用户账户。这可以在 vi 中或使用 usermod 命令完成。

这里,我们将使用 usermod 命令禁用 akki 的密码。

语法

示例

Linux User Password10

请看上面的截图,第一个命令显示了 akki 的哈希密码,命令 "usermod -L akki" 禁用了 akki 的密码。现在用户 akki 无法使用此密码进行身份验证。

Linux User Password11

请看上面的截图,哈希密码前面带有 !,这意味着它已被禁用。

请注意,root 用户将能够打开 akki 账户,因为这里不需要密码。如果用户 akki 没有设置密码,那么 akki 也可以登录。

您可以使用 usermod -U 解锁您的账户。

语法

示例

Linux User Password12

请看上面的截图,akki 的哈希密码现在已解锁,因为开头没有 (!) 标记。

下一主题Linux 组