我应该使用哪个命令从 Debian 的组中删除用户?
将用户添加到组时,可以通过以下方式完成:
usermod -a -G group user
Run Code Online (Sandbox Code Playgroud)
但是,我找不到用于从组中删除用户的类似命令(接受组和用户作为参数)。我能得到的最接近的是:
usermod -G all,existing,groups,except,for,group user
Run Code Online (Sandbox Code Playgroud)
是否有像usermod OPTION group userOPTION这样的命令可以使usermod(或类似程序)从组中删除用户?
小智 515
您可以使用gpasswd:
# gpasswd --delete user group
Run Code Online (Sandbox Code Playgroud)
新的组配置将在下次登录时分配。如果用户已登录,则不会立即看到命令的效果。
Gil*_*il' 209
在 Debian 上,该adduser软件包包含一个deluser程序,如果您将两者都作为参数传递,该程序将从组中删除用户:
deluser user group
Run Code Online (Sandbox Code Playgroud)
如果你的发行没有adduser,你可以编辑/etc/group和/etc/gshadow手动。
vigr
vigr -s
Run Code Online (Sandbox Code Playgroud)
use*_*145 88
usermod -G "" username
Run Code Online (Sandbox Code Playgroud)
从username 中删除所有次要/补充组,使它们仅作为其主要组的成员。这适用于 Solaris 5.9
小智 19
这是“老派”方法...
大多数 *nix 系统将组信息保存在纯文本文件中/etc/group,其中
每行包含字段
由:字符分隔。
现在假设您要从名为thisuser
的组中删除名为的用户thatgroup。从备份开始/etc/group,然后使用具有 su 权限的您偏好的编辑器
来编辑文件/etc/group
并thisuser从thatgroup行条目中删除引用,例如,
原始行是这样的:
thatgroup:x:1274:someuser,thisuser,anotheruser
编辑后应该是这样的:
thatgroup:x:1274:someuser,anotheruser
与所有其他答案一样,这不会影响用户的当前会话,如果有的话(即,如果用户当前已登录)。更改将在用户下次登录时生效。