为什么我的Linux帐户只属于一个组?

为什么我的Linux帐户只属于一个组?

我目前正在使用 Ubuntu 18.04,我的用户名是 abcxyz(不是真实的,根据问题的内容更改了)。如果我查看 的内容/etc/groups,我的用户出现在许多组中:

$ cat /etc/group | grep abcxyz
adm:x:4:syslog,abcxyz,admin
cdrom:x:24:abcxyz
sudo:x:27:abcxyz,admin
dip:x:30:abcxyz
plugdev:x:46:abcxyz
lpadmin:x:113:abcxyz,admin
abcxyz:x:1000:
sambashare:x:128:abcxyz,admin
libvirtd:x:134:abcxyz,admin
libvirt:x:134:abcxyz,admin
docker:x:1002:abcxyz

但是,当我groups以我的用户身份执行时,我只看到:

$ groups
abcxyz

我已经注销并重新登录,重新启动了计算机,并尝试修改用户所属的组usermod -a -G,但似乎没有任何作用。

答案1

它似乎是一个错误,因此被认为可能在几周或几个月内修复,触发显然只有与图形登录lightdm和 PAM 插件libpam-kwallet5和/或libpam-kwallet4。从报告来看,它似乎至少存在于 Ubuntu 16.04 LTS 和 Ubuntu 18.04 LTS 中,也可能存在于其他不相关的发行版中。我宁愿多加“似乎”,因为实际的根本原因可能不太清楚。

要知道这确实是这个问题:登录控制台,使用su - $USERssh localhost都可以正确设置缺失的补充组。将多个sgnewgrp与输出中可用的任何组链接起来id -nG $USER也会从配置的补充组列表中逐个添加缺失的组。

为了解决这个问题(我实际上无法测试它):

  • 更改图形登录管理器。GDM已知可以正常工作,

  • 或者禁用 KDE Wallet PAM 集成中有问题的部分lightdm。鉴于 KDE Wallet 的作用,它可能会影响某些存储机密的访问方式:

    注释掉/etc/pam.d/lightdmhavingauth optional pam_kwallet.so或中的任何行auth optional pam_kwallet5.so,例如以 root 身份使用以下命令:

      cp -ai /etc/pam.d/lightdm /root/pam-lightdm.orig && sed -E -i 's/^(\s*auth\s+optional\s+pam_kwallet)/#\1/' /etc/pam.d/lightdm
    
  • 或使用上述任何其他登录方法,

  • 或者等待足够长的时间来更新以修复该错误。

版权归属于:

https://unix.stackexchange.com/questions/458194/missing-groups-at-each-startup

可能相关:

https://unix.stackexchange.com/questions/457884/empty-user-groups-in-terminal-wrapper-applications

其他参考:

https://bugzilla.redhat.com/show_bug.cgi?id=1581495

相关内容