5

我正在设置一个新的 SLES 12 服务器,并希望为新用户设置默认组,这样它就不会被命名users,而是<username>(例如用户foo将被分配到组foo)。

我发现USERGROUPS_ENABin/etc/login.defs中的选项应该可以完成这项工作,但是在我将其更改为USERGROUPS_ENAB yes并尝试通过 创建新用户yast之后,这样的新用户 - 根据yast- 仍然会被分配给users.

如何通过 完成所需的行为yast?还是我错过了什么?

4

1 回答 1

0

在文件中更改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 的支持权利,您可以联系他们以查看他们是否愿意将此作为错误提交。至少他们应该能够将此作为增强请求。

于 2017-04-25T23:22:48.653 回答