Linux 系统安全技术全解析
1. 密码文件与密码哈希
早期的 Linux 系统将用户密码存储在 /etc/passwd 文件中,这些密码经过哈希处理。哈希是一种单向数学运算,一旦生成哈希值,就无法从哈希值还原出原始密码。当用户输入账户密码时,系统会对输入的密码进行哈希处理,并将结果与 /etc/passwd 文件中的原始哈希值进行比较。如果匹配,用户将通过身份验证并被允许登录系统。
然而,将密码哈希值存储在 /etc/passwd 文件中存在安全风险。该文件的文件系统安全设置如下:
# ls -l /etc/passwd
-rw-r--r--. 1 root root 1644 Feb 2 02:30 /etc/passwd
可以看到,所有用户都有读取该文件的权限。虽然密码是经过哈希处理的,但恶意用户可以使用彩虹表(一种预先计算好的可能密码及其哈希值的字典)来破解密码。例如,常见密码 “Password” 的哈希值可能会出现在彩虹表中:
$6$dhN5ZMUj$CNghjYIteau5xl8yX.f6PTOpendJwTOcXjlTDQUQZhhy
V8hKzQ6Hxx6Egj8P3VsHJ8Qrkv.VSR5dxcK3QhyMc.
为了增加破解难度,密码在哈希处理前会添加随机生成的盐值。但在 Linux 中,盐值也与哈希密码一起存储在 /etc/pas
超级会员免费看
订阅专栏 解锁全文
2880

被折叠的 条评论
为什么被折叠?



