如何从仍然引用某个组(之前已删除)的用户中删除该组?如果我运行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