2016-08-16 123 views
0

我想从一个包含Linux操作系统文件的tarball中删除一个用户(它是root [/]文件系统的tarball)。有没有办法做到这一点完全正确,以便它可以模仿userdel命令所采取的步骤?我想我有两个选择:一个实际的目标在操作系统中linux删除没有userdel的用户帐户

  1. 工作,使用则userdel然后重新焦油 的文件。不是问题,但我很好奇直接在tarball上执行 ,因此...
  2. 我可以模仿userdel所采取的步骤:un-tar并删除与用户相关的所有条目......根据该人 userdel的页面我将删除/ etc/group中的条目, /etc/login.defs,/ etc/passwd和/ etc/shadow中的条目。然后,重新焦油。

方法(2)很吸引人,因为我可以通过编程在tarball上直接添加或删除用户。我会尝试(2),但想知道是否会有意外的后果或剩余的簿记我应该做的?还是有另一种方法来做到这一点?

+1

对于好的衡量标准,你应该记录下uid并使用** find/var/tmp -uid n **,然后从/ place/where/untarred/etc/passwd中敲击它们。 – tink

+0

好主意放下任何临时文件...正是我想要覆盖的副作用类型。 –

回答

1

/etc/login.defs仅在创建新用户时调用。该文件不需要修改。但是,将在login.defs

中列出的位置为用户创建一个邮件缓冲池,以便从/ etc/shadow和/ etc/passwd中删除用户。/etc/group不是一个需求,但它不会受到伤害。这三个文件将处理它,如果需要,您可以删除邮件缓冲池。

+0

关于邮件线轴的很好的补充! –