我遇到了这个奇怪的问题。我正在使用usermod
将现有用户添加到另一个组。我想创建一个新用户并将旧用户添加到这个新用户的组中。为此,我正在做以下事情
创建一个新用户,-m 为该用户创建主目录,-U 创建一个与用户同名的组。
useradd -U -m newuser
然后我将旧用户添加到新用户的组中
usermod -a -G newuser olduser
-a
将该组附加到已经存在的组中并-G
用于指定组名。
现在,当我这样做时,groups olduser
我得到了以下输出olduser newuser
,但是olduser
我无法在newuser
主目录中创建任何文件。我已设置了正确的目录权限,为组设置了读取、写入和执行位。
但是,如果我不使用,而是usermod
手动编辑/etc/group
文件,并newuser,olduser
在新用户组前面添加,则一切正常。 是否有错误usermod
或我做错了什么。
答案1
你试过用adduser
其他方式来做这件事吗?Ubuntu 帮助页面建议不要使用useradd
。我认为您可以这样做:
adduser newuser
(自动创建主文件夹)
adduser newuser olduser
(这会将新用户添加到旧用户团体)
希望有所帮助。
编辑:
这至少应该能帮助你弄清楚问题是否与此相关usermod
。尝试添加用户并更改组而不使用useradd
或者 usermod
。
答案2
您可能只需要注销并重新登录即可使新的权限生效。