passwd
或sudo passwd 用户名
命令。Linux密码存储机制
-
加密存储原则
Linux从不以明文存储密码,所有用户密码均通过单向哈希算法(如SHA-512)加密后,存储在受限文件/etc/shadow
中,该文件仅root用户可读,普通用户无访问权限。 -
关键文件说明
/etc/shadow
:存储加密后的密码哈希值、有效期等敏感信息。# 查看示例(需root权限) sudo cat /etc/shadow # 输出样例:user1:$6$salt$hashed_value:19122:0:99999:7:::
/etc/passwd
:仅存储账户信息(如用户名、UID),不含密码。
合法操作场景及方法
▶ 场景1:查看当前用户密码状态
# 检查密码有效期 sudo chage -l your_username # 输出:Last password change(最后修改时间)/ Password expires(过期时间)等
▶ 场景2:查看加密哈希值(需root权限)
sudo grep 'your_username' /etc/shadow
输出中的第二字段为哈希值(如$6$...
),
$6$
:使用SHA-512加密$1$
:MD5(已淘汰)$5$
:SHA-256
⚠️ 安全提示:哈希值无法逆向解密,仅用于密码验证。
▶ 场景3:重置遗忘密码(非查看)
# 步骤1:切换到root sudo su # 步骤2:重置密码 passwd username # 按提示输入新密码
禁止行为与安全警告
-
严禁尝试破解密码
使用john
、hashcat
等工具破解他人密码违反法律和道德规范,可能导致:- 系统入侵指控(依据《网络安全法》)
- 账户永久封禁
- 法律追责
-
管理员操作准则
- 仅限维护自有系统或获授权设备
- 密码重置后需通知用户
- 定期审计
/etc/shadow
访问日志
常见问题解答
Q:能否直接查看明文密码?
→ 绝无可能,Linux内核设计禁止此行为,符合ISO/IEC 27001安全标准。
Q:为什么sudo cat /etc/shadow
显示乱码?
→ 显示的是加密哈希值,非明文,乱码是因终端无法解析哈希字符串。
Q:如何增强密码安全?
# 设置高强度密码策略 sudo nano /etc/security/pwquality.conf # 修改:minlen=12 minclass=4(至少12位含4类字符)
技术原理与规范
Linux密码机制符合:
- FIPS 140-2(美国联邦加密标准)
- OWASP密码存储规范
加密过程:
明文密码 + 随机Salt值 → SHA-512哈希 → 存储
即使相同密码,因Salt不同哈希值也唯一。
引用说明:
- 密码存储标准参考Linux手册页:
man 5 shadow
- 安全规范依据NIST SP 800-63B《数字身份指南》
- 操作合规性参照《信息安全技术 个人信息安全规范》(GB/T 35273-2020)
免责声明:任何密码破解尝试均违反《中华人民共和国网络安全法》第二十七条,请严格遵守法律法规。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/24324.html