我正在设置一个新的SLES 12服务器,并希望为新用户设置默认组,以便这不是名为users,而是<username> (p.ex )。用户foo将分配给组foo)。
我发现/etc/login.defs中的选项/etc/login.defs应该完成这项工作,但在我将其更改为USERGROUPS_ENAB yes并试图通过yast创建新用户之后,根据yast的说法,这样的新用户仍将被分配给users。
如何通过yast完成所需的行为?还是我错过了什么?
发布于 2017-04-25 23:22:48
在将USERGROUPS_ENAB更改为/etc/login.defs文件中的yes之后,您将用户添加命令默认设置的行为更改为您想要的行为。因此,例如,您可以以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模块中,当您在Details选项卡中创建用户时,您可以在底部看到它将它分配给自己的默认用户组参数。
如果您有SUSE的支持权限,您可以与他们联系,看看他们是否愿意将此作为bug提交。至少,他们应该能够把这作为一个增强请求。
https://stackoverflow.com/questions/36326864
复制相似问题