📜  Linux 中的 chpasswd 命令及示例(1)

📅  最后修改于: 2023-12-03 15:02:43.219000             🧑  作者: Mango

Linux 中的 chpasswd 命令及示例

简介

在 Linux 环境下,chpasswd 命令用于批量修改用户密码,可通过标准输入指定多个用户及对应密码。chpasswd 命令不会输出任何信息,只会在输入的用户 / 密码文件中修改密码。

语法
chpasswd [选项]
选项

| 选项 | 说明 | | ---- | ---- | | -c, --crypt-method | 指定密码加密方式,可选 md5、sha-256、sha-512 | | -e, --encrypted | 密码已加密 | | -h, --help | 显示帮助信息 | | -m, --md5 | 使用 md5 算法加密密码 | | -s, --sha-rounds | 指定 sha 加密算法中 salt 的轮数 | | -u, --update | 只更新已存在的用户 / 密码 |

示例
修改一个用户的密码

使用以下命令修改用户 alice 的密码为 MyNewPass。

echo 'alice:MyNewPass' | sudo chpasswd
批量修改多个用户密码

假设有一个文件 /etc/passwd_list,按如下格式存储了多个用户的用户名及对应密码。

peter:PassWord1
jim:MySecretPassword
alice:MyNewPass

则可以通过以下命令批量修改用户的密码。

sudo chpasswd < /etc/passwd_list
指定加密算法

使用以下命令指定 sha-512 算法加密密码。

echo 'alice:MyNewPass' | sudo chpasswd -c sha-512
修改已加密的密码

使用以下命令修改已加密的密码。

echo 'alice:$6$XjyDf.oHNLPcj6wM$6/CqHHRTZIZM/hLzUvTjLiCc17q3WCeD/1GA77CBvRbR2Q8VuFcnZ/RcH7MJnfdIWHYpqenXJD.2yCQHpVvL51' | sudo chpasswd -e
只更新已存在的用户 / 密码

在批量修改密码时,如果只想更新已存在用户的密码,可以加上 -u--update 选项。例如:

sudo chpasswd -u < /etc/passwd_list