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

elx*_*rdi 5 linux user-accounts ubuntu user-groups

我目前使用的是 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
Run Code Online (Sandbox Code Playgroud)

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

$ groups
abcxyz
Run Code Online (Sandbox Code Playgroud)

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

A.B*_*A.B 3

这似乎是一个错误,因此被认为可能在几周或几个月内修复,显然仅通过图形登录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 钱包的作用,它可能会影响某些存储的机密的访问方式:

    注释掉/etc/pam.d/lightdmhavingauth optional pam_kwallet.so或 中的任何行auth optional pam_kwallet5.so,例如作为根:

      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
    
    Run Code Online (Sandbox Code Playgroud)
  • 或使用上述任何其他登录方法,

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

它所属的学分:

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