我正在设置新的SLES 12服务器并希望为新用户设置默认组,以便将其命名为users
,而不是<username>
(p.ex.user { {1}}将被分配到组foo
)。
我发现foo
中的USERGROUPS_ENAB
选项应该来完成这项工作,但在我将其更改为/etc/login.defs
并尝试创建新工作后用户通过USERGROUPS_ENAB yes
,这样的新用户 - 根据yast
- 仍然会被分配到yast
。
如何通过users
完成所需的行为?或者我会错过什么?
答案 0 :(得分:0)
在USERGROUPS_ENAB
文件中将yes
更改为/etc/login.defs
后,您已根据需要更改了行为,因为useradd命令默认值。因此,例如,您可以以root身份运行此命令,它将执行您期望的操作:
linux-54pe:~ # grep "USERGROUPS_ENAB" /etc/login.defs
USERGROUPS_ENAB yes
linux-54pe:~ # useradd bob
linux-54pe:~ # cat /etc/passwd | grep bob
bob:x:1003:1003::/home/bob:/bin/bash
linux-54pe:~ # cat /etc/group | grep bob
bob:!:1003:
问题是您使用的是YaST2。 YaST2使用自己的默认组分配,因此它不会考虑对useradd所做的默认更改。在/var/log/YaST2/y2log
中,您可以看到当我尝试创建用户frank时:
2017-04-25 10:44:02 <1> linux-54pe(2871) [Perl] modules/Users.pm(Users::CommitUser):3517 commiting user 'frank', action is 'add_user', modified: 1, ldap modified: 0
2017-04-25 10:44:02 <1> linux-54pe(2871) [Perl] modules/Users.pm(Users::CommitGroup):3787 commiting group 'users', action is 'user_change_default'
此外,在YaST2模块中,当您在详细信息选项卡中创建用户时,您可以在底部看到它将其分配给用户自己的默认组参数。 / p>
如果您拥有SUSE的支持权利,您可以与他们联系,看看他们是否愿意将此提交为错误。至少他们应该能够将其作为增强请求。