首页 > 解决方案 > 无法使用 usermod 将组附加到用户组

问题描述

我创建了名为support的组 来管理对一些应该作为 sudo 运行的脚本的访问。因此,我创建了组并验证/etc/group中是否存在组:

# groupadd support
# cat /etc/group | grep support
support:x:1002:

然后,我想将组添加到 user1:

# usermod –a –G support user1; echo $?
Usage: usermod [options] LOGIN
...
<usermod help page>
...
2

该命令返回代码2,并且没有出现错误消息。我想,问题可能出在组支持上,所以我尝试将user1添加到组sudo(仅用于测试)并且问题仍然存在。我做错了什么还是我错过了什么?无法弄清楚问题可能出在哪里。谢谢

操作系统:Kubuntu 20.04 LTS(5.4.0-58-generic)

BASH:GNU bash,版本 5.0.17(1)-release (x86_64-pc-linux-gnu)

标签: linuxbashsudousergroups

解决方案


您的“-”字符不正确。也许您从某个地方复制并粘贴了它,或者您使用的是非标准键盘。看看你的命令 hex-dump:

echo 'usermod –a –G support user1' | hd
00000000  75 73 65 72 6d 6f 64 20  e2 80 93 61 20 e2 80 93  |usermod ...a ...|
00000010  47 20 73 75 70 70 6f 72  74 20 75 73 65 72 31 0a  |G support user1.|
00000020

但正确的是:

echo 'usermod -a -G support user1' | hd
00000000  75 73 65 72 6d 6f 64 20  2d 61 20 2d 47 20 73 75  |usermod -a -G su|
00000010  70 70 6f 72 74 20 75 73  65 72 31 0a              |pport user1.|
0000001c

注意-第二个十六进制中的字符并将其与您的


推荐阅读