我们有一个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/passwd
为foo:x:0:0::/home/foo:/bin/bash
我需要采取哪些步骤来摆脱这个帐户?我是否需要使用 usermod 并更改 uid、gid 和组?如果我选择一个未使用的随机 uid,即 uid=1099(foo),这会破坏什么吗?
我在 CentOS 7 上,服务器连接到 Active Directory,但是这个 foo 帐户是 Linux 服务器上的本地帐户。在我们将 Linux 连接到 AD 之前,用户已被终止,因此该帐户不再存在于 Active Directory 中。
我建议不要使用类似的工具,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)
可能还有其他条目foo
in /etc/group
。可能的例子:
audio:x:29:foo,pulse
Run Code Online (Sandbox Code Playgroud)
对于干净的工作,也删除这些条目中的foo
相应foo,
条目。
如果/home/foo
存在,请检查并删除它。
目前foo
与root
. 您不会找到 foo 拥有的进程或文件,因为它们都属于root
. 文件和进程所有者是通过他们的 uid 来注册的,而不是他们的名字。因此,所有 uid 为 0 的进程或文件都显示为 root。(或者,所有根进程和文件都可以显示为foo
而不是root
)。
归档时间: |
|
查看次数: |
3201 次 |
最近记录: |