当我在 linux 中删除用户时,用户文件会发生什么?

alf*_*ish 11 users

这就是问题所在:我想知道谁拥有属于已删除用户的文件

Mat*_*Mat 12

大多数发行版都带有一个名为userdel, 或的工具deluser。默认情况下,这些不会删除任何用户的文件。因此,默认情况下,该已删除帐户拥有的文件不会发生任何变化。他们保持其用户和组 ID 不变。

ls和其他此类列表中,您将看到数字 ID 而不是通常的用户名(如果您也删除它,则会看到组)。

userdel(和deluser) 确实可以选择删除一组特定的文件(即用户的主目录和邮件池),但不会执行系统范围的搜索和销毁操作。如果您愿意(例如,使用或类似工具)find,您需要自己执行此操作locate

请注意,如果您重新创建具有相同 UID 的用户,该新用户最终将拥有已失效用户的文件,因此请备份(以防万一,可能不会长时间保留)并至少清除主目录(包括dotfiles)是应该考虑的事情(例如隐私和安全问题)。

(这是假设有正常的文件系统和本地帐户,并且没有“增强型”用户管理工具或某种类型的策略执行软件可能会对孤立文件执行任何操作——您需要检查这些工具的文档确切地知道他们在多大程度上“破坏”了帐户。)

  • 无用事实 #0815:对于该用户在被删除之前启动的 *processes* 来说,同样的情况甚至大多适用。内核实际上不知道用户或组 *names* 或密码数据库中存在的内容;所有这一切完全取决于 login/pam/nss 堆栈。 (2认同)