Linux下,可通过
passwd 用户名
命令修改用户密码,按提示输入新密码
修改当前用户的密码
如果你是普通用户,想要修改自己的密码,可以使用以下命令:
passwd
系统会提示你输入当前密码,然后要求输入新密码并确认。
Current password: ********
New password: *********
Retype new password: *********
注意事项:
- 新密码需要符合系统的密码复杂度要求(如长度、包含特殊字符等)。
- 如果输入的新密码与当前密码相同,系统会提示错误。
修改其他用户的密码(需要root权限)
如果你有root权限或使用sudo命令,可以修改其他用户的密码,修改用户username
的密码:
sudo passwd username
系统会提示你输入root密码,然后要求输入新密码并确认。
[sudo] password for your_username: ********
New password: *********
Retype new password: *********
注意事项:
- 只有root用户或具有sudo权限的用户才能修改其他用户的密码。
- 修改其他用户的密码时,不需要知道该用户的当前密码。
使用chpasswd
命令批量修改密码
chpasswd
命令可以从标准输入读取“用户名:密码”对,并批量修改密码,修改用户username
的密码为newpassword
:
echo "username:newpassword" | sudo chpasswd
优点:
- 适合批量修改密码或自动化脚本。
- 不需要交互式输入密码。
注意事项:
- 确保输入的密码符合系统要求。
- 使用
chpasswd
时,密码以明文形式传输,注意安全性。
通过/etc/shadow
文件直接修改密码
/etc/shadow
文件存储了用户的密码信息(以加密形式),可以通过编辑该文件修改密码,但不建议直接操作,除非必要,修改用户username
的密码:
- 打开
/etc/shadow
文件:sudo nano /etc/shadow
- 找到对应用户的行,格式如下:
username:$6$...$encrypted_password:...
- 使用工具生成新密码的加密值,例如使用
openssl
:openssl passwd -6 newpassword
输出类似:
username $6$random_salt$encrypted_password
- 将
/etc/shadow
中对应行的加密密码替换为新值。 - 保存并退出。
注意事项:
- 直接编辑
/etc/shadow
文件可能导致系统无法正常登录,建议备份文件。 - 推荐使用
passwd
或chpasswd
命令修改密码,避免手动操作。
强制用户首次登录时修改密码
在某些场景下,管理员可能希望用户首次登录时强制修改密码,可以通过设置/etc/shadow
文件中的密码字段为特殊值实现,将用户username
的密码字段设置为:
sudo usermod -p '!!' username
用户首次登录时,系统会提示修改密码。
常见问题及解决方法
问题 | 解决方法 |
---|---|
修改密码时提示“Authentication token manipulation error” | 检查是否有足够的权限,或者尝试重新登录后重试。 |
新密码不符合复杂度要求 | 阅读系统提示,确保新密码符合长度、字符类型等要求。 |
忘记root密码 | 需要进入单用户模式或使用救援模式重置密码。 |
FAQs
如何查看当前用户的密码有效期?
在Linux中,可以使用chage
命令查看或修改密码有效期,查看用户username
的密码信息:
sudo chage -l username
输出包括密码有效期、最后一次修改时间等信息。
如何设置用户密码永不过期?
使用chage
命令可以设置密码永不过期,为用户username
设置密码永不过期:
sudo chage -I -1 -m 0 -M 99999 -E -1 username
-I -1
:禁用密码过期功能。-m 0
:允许空密码(不推荐)。-M 99999
:设置密码最大年龄为99999天(相当于永不过期)。-E -1
:禁用账户过期功能。
小伙伴们,上文介绍linux下如何修改用户密码的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/11203.html