我目前正在使用 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 - $USER
或ssh localhost
都可以正确设置缺失的补充组。将多个sg
或newgrp
与输出中可用的任何组链接起来id -nG $USER
也会从配置的补充组列表中逐个添加缺失的组。
为了解决这个问题(我实际上无法测试它):
更改图形登录管理器。
GDM
已知可以正常工作,或者禁用 KDE Wallet PAM 集成中有问题的部分
lightdm
。鉴于 KDE Wallet 的作用,它可能会影响某些存储机密的访问方式:注释掉
/etc/pam.d/lightdm
havingauth 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
其他参考: