显示 root 的 UID 和 GID

Gov*_*vna 1 users centos

我们有一个foo以某种方式与 root 的 uid、guid 和组相关联的用户帐户。当我运行id foo它返回所有的根 ID 信息。

id foo

uid=0(root) gid=0(root) groups=0(root)

此用户帐户适用于不再在这里的老同事,我想从服务器中完全删除他们的帐户。运行ps -ef | grep foo不会为该用户返回任何进程,因此我确信没有在他们的用户名下运行任何内容。

正在运行userdel foo表示用户帐户不存在,因为我确定它看到的是 uid=0 的 root 帐户,但我仍然看到foo它的帐户/etc/passwdfoo:x:0:0::/home/foo:/bin/bash

我需要采取哪些步骤来摆脱这个帐户?我是否需要使用 usermod 并更改 uid、gid 和组?如果我选择一个未使用的随机 uid,即 uid=1099(foo),这会破坏什么吗?

我在 CentOS 7 上,服务器连接到 Active Directory,但是这个 foo 帐户是 Linux 服务器上的本地帐户。在我们将 Linux 连接到 AD 之前,用户已被终止,因此该帐户不再存在于 Active Directory 中。

mvi*_*eck 5

我建议不要使用类似的工具,userdel因为不清楚为什么foo有 uid0并且您不想意外删除 root。

而是编辑/etc/passwd自身并删除foo. 确保 root 本身具有正确的条目:

root:x:0:0:root:/root:/bin/bash
Run Code Online (Sandbox Code Playgroud)

/etc/group. 删除条目foo并检查条目root

root:x:0:
Run Code Online (Sandbox Code Playgroud)

然后检查密码输入/etc/shadow,删除foo,检查root输入。条目root应类似于:

root:SOMEPASSWORDCODE:17219:0:99999:7:::
Run Code Online (Sandbox Code Playgroud)

可能还有其他条目fooin /etc/group。可能的例子:

audio:x:29:foo,pulse
Run Code Online (Sandbox Code Playgroud)

对于干净的工作,也删除这些条目中的foo相应foo,条目。

如果/home/foo存在,请检查并删除它。

目前fooroot. 您不会找到 foo 拥有的进程或文件,因为它们都属于root. 文件和进程所有者是通过他们的 uid 来注册的,而不是他们的名字。因此,所有 uid 为 0 的进程或文件都显示为 root。(或者,所有根进程和文件都可以显示为foo而不是root)。