我注意到postgresql
在 ArchLinux 中卸载软件包后postgres
,用户和组不会自动删除。其他一些包也是如此。进一步调查这个问题,我遇到了这个页,其中指出:
此处列出的包使用
userdel
/groupdel
来删除它们创建的用户。这些不应自动删除,因为如果任何文件保留此所有权,则会带来安全风险。
我想知道为什么保留文件的所有权会带来安全风险?
答案1
这是一个安全风险,因为 FS 中的文件所有权不是按符号名称存储的,而是按 UID 和 GID 存储的。如果删除用户并且文件仍归该用户所有,则在所有者许可下将无法访问这些文件。但是,如果稍后创建分配有相同 UID 的不同用户,则该用户将获得文件的所有权。由于将文件所有权用作安全机制的方式多种多样,因此这存在潜在的安全风险;最简单的形式是机密信息(例如 中的 SSH 密钥id_rsa
等、 中的 wi-fi 身份验证信息wpa_supplicant.conf
)可能会泄露给新用户。