Linux管理员为何查不到明文密码?

查看密码存储文件(仅限root权限)

Linux用户密码的加密哈希值存储在 /etc/shadow 文件中:

sudo cat /etc/shadow

输出示例(关键字段说明):

username:$6$TrnQz2d...$Vj5Xb2...:19485:0:99999:7:::
  • 字段1: 用户名
  • 字段2: 加密后的密码(格式:$加密算法$盐值$哈希值)
    • $6$ 表示SHA-512加密(常见值:$1$=MD5, $5$=SHA-256)
    • 若显示 或 表示账户被锁定/无密码
  • 字段3: 上次修改密码的天数(从1970-1-1起)
  • 字段5: 密码有效期(天数)
  • 字段7: 密码过期前的警告天数

⚠️ 注意:/etc/shadow 仅 root用户 可读,且密码哈希无法逆向解密。


检查密码状态与有效期

使用 chage 命令查看详细密码策略:

sudo chage -l username  # 替换username为目标用户名

输出示例:

Last password change     : May 15, 2025
Password expires     : never
Password inactive     : never
Account expires      : never
Minimum number of days between password change  : 0
Maximum number of days between password change  : 99999
Number of days of warning before password expires : 7

验证用户密码是否设置

  1. 检查用户是否可登录:

    sudo passwd -S username

    输出状态说明:

    • PS:密码已设置
    • LK:账户被锁定
    • NP:无密码
  2. 检查用户是否在 /etc/passwd 中禁用密码:

    grep username /etc/passwd

    若第二个字段为 x,表示密码在 /etc/shadow 中;若为空,则无密码。


安全注意事项

  1. 禁止尝试破解密码:
    获取他人密码违反法律和道德规范,且加密哈希无法逆向破解。
  2. 密码重置合法操作:
    管理员需重置用户密码时,使用:

    sudo passwd username  # 按提示设置新密码
  3. 审计密码策略:
    定期用 chage 或 passwd -S 检查账户状态,确保符合安全策略。

常见问题

  • Q:能否查看历史密码?
    不能,系统仅存储当前密码的哈希值。
  • Q:普通用户如何改密码?
    执行 passwd 命令(无需sudo),输入原密码后修改。
  • Q:忘记root密码怎么办?
    需通过GRUB引导进入恢复模式重置(需物理服务器访问权限)。

引用说明基于Linux核心文档(man 5 shadow, man 1 passwd, man 1 chage)及OpenWeb应用安全项目(OWASP)密码管理规范,操作需遵守《网络安全法》及相关法律法规。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8388.html

赞 (0)
酷番叔酷番叔
上一篇 2025年7月23日 22:23
下一篇 2025年7月23日 22:39

相关推荐

  • linux中run如何安装

    Linux中安装run可使用包管理工具,如sudo apt-get install run(Debian/Ubuntu)

    2025年8月9日
    21300
  • Linux如何测试邮件发送与接收功能?

    在Linux环境下进行邮件测试是系统运维、应用开发或邮件服务调试中的常见需求,涵盖本地邮件发送、远程SMTP连接、邮件内容验证、垃圾邮件规则检测等多个场景,本文将结合常用工具和实际操作步骤,详细说明如何在Linux中完成邮件测试工作,邮件测试常用工具及选择Linux生态提供了多种邮件测试工具,可根据测试需求选择……

    2025年9月8日
    26700
  • Linux如何创建文件夹?命令行与图形界面详解

    命令行创建文件夹(核心方法)通过终端(Terminal)使用 mkdir 命令是最高效的方式,语法如下:mkdir [选项] 文件夹名称创建单个文件夹mkdir new_folder # 在当前目录创建名为 new_folder 的文件夹创建多个文件夹mkdir folder1 folder2 folder3……

    2025年7月8日
    30400
  • 为什么90后频繁跳槽

    在Linux系统中,正确关闭已打开的文件是系统管理和编程开发中的关键操作,这不仅涉及资源释放,还关系到数据完整性和系统稳定性,以下从命令行操作和编程实现两个维度详细说明关闭文件的方法,并解释其重要性,为什么必须关闭文件?释放系统资源Linux内核为每个打开的文件分配文件描述符(File Descriptor……

    2025年7月23日
    21500
  • linux如何运行命令行参数

    Linux 中,运行命令行参数可在终端输入命令后,以空格分隔各参数。

    2025年8月17日
    20800

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信