未加载次要用户组

未加载次要用户组

apt-get update几天前的运行之后apt-get upgrade,用户组没有正确应用于当前登录的用户。

我可以看到所有组都已正确保存在和中/etc/passwd/etc/groups但系统重启后,仅应用了默认用户组。我没有看到任何特定错误syslog

系统启动后,只有默认组会应用于用户。

user@localhost:~$ id
uid=1000(user) gid=1000(user) groups=1000(user)

但是,当列出可用的组时,它们是可见的,但当前未附加到会话。

user@localhost:~$ id user
uid=1000(user) gid=1000(user) groups=1000(user),4(adm),27(sudo),999(docker)

每次创建新的 shell 会话时,我都需要手动以同一用户身份登录,然后它才能按预期工作。

user@localhost:~$ su user
user@localhost:~$ id
uid=1000(user) gid=1000(user) groups=1000(user),4(adm),27(sudo),999(docker)

知道是什么原因造成的吗?


我已经尝试过:

  • 登出 / 登录
  • 重新创建群组
  • 重新分配组给用户

作为奖励,我可以说它的newgrp行为很奇怪,它切换了主组而不是与其他组一起注册:

user@localhost:~$ newgrp docker
user@localhost:~$ id
uid=1000(user) gid=999(docker) groups=999(docker)

谢谢!

答案1

我遇到了同样的问题(xfce,Ubuntu 16.04 LTS)。lightdm 错误追踪建议删除/注释掉 /etc/pam.d/lightdm 中的两行,具体来说:

auth optional pam_kwallet.so
auth optional pam_kwallet5.so

应该变成:

#auth optional pam_kwallet.so
#auth optional pam_kwallet5.so

这对我有用!我猜这​​可能会对登录时自动解锁 KWallet 产生一些影响(如果相关的话)。

答案2

进程的组成员身份在登录时由 设置login。系统不会跟踪组文件并修改现有进程。

您可以使用以下命令启动具有新组成员身份信息的进程newgrp。阅读man newgrp

相关内容