真是愚蠢的问题,但假设一台装有 Linux 的计算机没有加密的硬盘驱动器。如果我生成一个哈希值“openssl 密码”,我不能运行一个实时版本的 Ubuntu 并将我的哈希值添加到 /etc/shadow 文件中吗?或者即使硬盘没有加密,/etc/shadow 也已加密吗?
答案1
是什么阻止我在未加密的系统中编辑 /etc/shadow 文件?
没什么,没有具体的保护措施/etc/shadow
。某些系统可能具有篡改检测功能,因此系统管理员会知道已/etc/shadow
更改(除非您也覆盖了篡改检测,通常通过更新它以使其认为您的修改/etc/shadow
是正确的),但没有什么可以阻止您在未加密的文件系统中编辑文件。
加密驱动器(或分区/etc/shadow
)足以防止此类攻击,但不足以防止更复杂的攻击。尽管安全启动和 TPM 测量确实使成功的攻击变得更加困难,但针对涉及物理访问的攻击的全面保护仍然不存在。
答案2
您可以直接编辑它,但输入错误可能会损坏操作系统,甚至使其无法运行,这就是程序vipw
(带有 -s 标志)加载临时副本以进行编辑的原因,并在保存和覆盖之前检查语法。