在文件中更改USERGROUPS_ENAB为后,您已根据需要更改了 useradd 命令默认值的行为。因此,例如,您可以以 root 身份运行此命令,它会执行您所期望的操作:yes/etc/login.defs
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 模块中,当您在Details选项卡中创建用户时,您可以在底部看到它正在将其分配给其自己的默认用户组参数。
显示参数的屏幕截图
如果您拥有 SUSE 的支持权利,您可以联系他们以查看他们是否愿意将此作为错误提交。至少他们应该能够将此作为增强请求。