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


15

我注意到,postgresql在ArchLinux中卸载软件包后,postgres不会自动删除用户和组。其他一些软件包也是如此。对此进行进一步的调查,我发现了该页面,该页面指出:

此处列出的软件包使用userdel/ groupdel删除他们创建的用户。切勿自动删除这些文件,因为如果此所有权遗留任何文件,则会造成安全风险。

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

Answers:


19

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


7
此外,如果老用户的任何可执行文件被设置为setuid或使用suEXEC,以使未授权用户可以以该用户身份运行程序,则新用户也可能会面临风险。
Mark Plotnick
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.