为什么 ArchLinux 在卸载软件包后会保留一些用户/组?

为什么 ArchLinux 在卸载软件包后会保留一些用户/组?

我注意到postgresql在 ArchLinux 中卸载软件包后postgres,用户和组不会自动删除。其他一些包也是如此。进一步调查这个问题,我遇到了这个,其中指出:

此处列出的包使用userdel/groupdel来删除它们创建的用户。这些不应自动删除,因为如果任何文件保留此所有权,则会带来安全风险。

我想知道为什么保留文件的所有权会带来安全风险?

答案1

这是一个安全风险,因为 FS 中的文件所有权不是按符号名称存储的,而是按 UID 和 GID 存储的。如果删除用户并且文件仍归该用户所有,则在所有者许可下将无法访问这些文件。但是,如果稍后创建分配有相同 UID 的不同用户,则该用户将获得文件的所有权。由于将文件所有权用作安全机制的方式多种多样,因此这存在潜在的安全风险;最简单的形式是机密信息(例如 中的 SSH 密钥id_rsa等、 中的 wi-fi 身份验证信息wpa_supplicant.conf)可能会泄露给新用户。

相关内容