好吧,我们都知道它保存密码。但是 cat-ing 它什么也没给出。甚至没有加密的胡言乱语。那么密码究竟是如何存储在其中的呢?这是像设备文件之类的吗?
对于一点历史背景:
很久以前,有一个 /etc/passwd 文件,其中包含有关用户的各种信息,不仅包括用户密码的加密版本,还包括用户的主目录、组、默认 shell 和名称等信息。这很方便,许多系统实用程序将 /etc/passwd 文件用于各种目的。仅存储密码的加密版本的做法比将真实密码存储在(希望如此)受保护的文件中是一个巨大的进步,并且可以将加密算法调整为足够快以实用但足够慢以进行暴力破解与现代硬件不切实际。
那时,Unix 通常用于研究和学术环境,安全性不是什么大问题(这在 1988 年被证明是一个坏主意,罗伯特莫里斯蠕虫)。随着它在更恶劣的环境中使用,并且随着计算机能力的提高,单独依靠加密越来越不切实际,因此将密码移动到不易访问的文件变得可取。
现在,有大量不同种类的程序使用 /etc/passwd 来获取隐藏在那里的信息,并且将它们全部更改是不切实际的。因此,将密码放入一个新文件(通常是 /etc/shadow)中,该文件尽可能锁定除 root 之外的所有帐户,而其他所有信息都被保留。
| 归档时间: |
|
| 查看次数: |
825 次 |
| 最近记录: |