从用户中删除组 ID

从用户中删除组 ID

如何从仍然引用某个组(之前已删除)的用户中删除该组?如果我运行groups,我会收到有关不存在组的错误:

$ groups
myuser dialout cdrom sudo dip plugdev fuse lpadmin sambashare groups: cannot find name for group ID 1001
1001

通常的使用方式deluser不起作用,因为组名称不再存在,并且似乎没有使用 ID 的标志:

$ deluser myuser 1001
The group `1001' does not exist.

除了重新创建组、从用户中删除组,然后重新删除组之外,是否有更直接的方法从用户中删除组(按 ID)?

答案1

groups显示您所在的组。所以问题是您的进程认为您仍然位于命令中现已删除的 1001 组中deluser myuser 1001

groups只要您启动的进程认为您在该组中,您仍然会收到该错误消息。当为我自己的帐户做这些事情时bash,我通常会启动一个新的 shell,以确保事情按照我希望的方式在该 shell 中进行。

在您的情况下,启动一个新的 shell 应该可以解决问题,如果没有,那么该组仍然存在/etc/group并且deluser不会抱怨。

答案2

您可以手动删除对组的引用,即修改 /etc/group

相关内容