注销并重新登录并不能解决此问题。重新启动并不能解决此问题。
笔记:请不要将此问题标记为重复,我知道这个问题:我将用户添加到组中,但组对文件的权限仍然没有效果并多次尝试过这些事情。
我已使用 将我的用户帐户添加到某些组usermod -aG
,但是我无法访问与该组关联的任何资源。我可以使用 修复此问题sudo su - $USER
,但这仅持续我当前的终端会话。
终端会话示例:
$ id
uid=1008(erik) gid=1009(erik) groups=1009(erik)
$ echo $USER
erik
$ sudo su - $USER
[sudo] password for erik:
$ id
uid=1008(erik) gid=1009(erik) groups=1009(erik),27(sudo),100(users),999(docker),1001(rvm)
每次打开终端时我都必须这样做。重新启动并不能解决这个问题。
有什么办法可以让我在登录时获得分配给我的所有组吗?
发行版:Ubuntu 16.04 x64 用户 Catscrash 报告了与 Ubuntu 18.04 相同的问题
这似乎只有当我在桌面上打开终端时才会发生。如果我 ssh 到机器或切换到 TTY(例如 ctrl+alt+F2),那么我会得到正确的组。
$ id
uid=1008(erik) gid=1009(erik) groups=1009(erik)
$ ssh localhost
erik@localhost's password:
Welcome to Ubuntu 16.04.5 LTS (GNU/Linux 4.4.0-131-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
0 packages can be updated.
0 updates are security updates.
----------------------------------------------------------------
Ubuntu 16.04.2 LTS built 2017-04-20
----------------------------------------------------------------
Last login: Thu Jul 26 09:18:38 2018 from ::1
$ id
uid=1008(erik) gid=1009(erik) groups=1009(erik),27(sudo),100(users),999(docker),1001(rvm)
$
目前使用 XFCE 作为我的桌面环境。我还安装了 KDE。
我已经尝试了将终端作为登录 shell 启动的两种可能的值 - 两者都没有任何区别。
我尝试通过禁用 apparmorsudo systemctl disable apparmor
并重新启动。重新启动后,由于我安装了 docker,它仍然使用 docker 配置文件加载 apparmor。因此,我还尝试禁用 docker:sudo systemctl disable docker
然后重新启动。
之后,apparmor_status 的输出为:
$ sudo apparmor_status
apparmor module is loaded.
0 profiles are loaded.
0 profiles are in enforce mode.
0 profiles are in complain mode.
0 processes have profiles defined.
0 processes are in enforce mode.
0 processes are in complain mode.
0 processes are unconfined but have a profile defined.
那么,这意味着它已加载但没有执行任何操作?
无论哪种方式,都不能解决问题。我仍然无法访问我应该拥有组权限的任何资源。
还有其他想法吗?
答案1
更新2:
这似乎是 lightdm / kwallet 的错误,请参见此处:https://bugs.launchpad.net/lightdm/+bug/1781418和这里:https://bugzilla.redhat.com/show_bug.cgi?id=1581495
评论出来
auth optional pam_kwallet.so
auth optional pam_kwallet5.so
到
#auth optional pam_kwallet.so
#auth optional pam_kwallet5.so
在 /etc/pam.d/lightdm 中 - 正如上面链接中所建议的,暂时解决了问题。
更新:
这似乎是 lightdm 的问题。切换到 GDM 暂时解决了我的问题。但仍然不知道 lightdm 有什么问题。
我有完全相同的问题(Ubuntu 18.04)。我还没有解决方案,但我注意到,当我通过 ssh 或文本控制台登录时,一切都是正确的,但当我在桌面环境上打开终端模拟器时,一切都正确。这对你来说也是一样吗?也许它与某些 pam 文件有关?
同样奇怪的是:正确的是:
uid=1000(catscrash) gid=1000(catscrash) Gruppen=1000(catscrash),4(adm),6(disk),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare),132(vboxusers),136(libvirtd)
错误的是
uid=1000(catscrash) gid=1000(catscrash) Gruppen=1000(catscrash)
现在我可以做
catscrash@catscrash-desktop ~ % newgrp adm
catscrash@catscrash-desktop ~ % newgrp catscrash
catscrash@catscrash-desktop ~ % id
uid=1000(catscrash) gid=1000(catscrash) Gruppen=1000(catscrash),4(adm)
catscrash@catscrash-desktop ~ % newgrp sudo
catscrash@catscrash-desktop ~ % id
uid=1000(catscrash) gid=27(sudo) Gruppen=27(sudo),4(adm),1000(catscrash)
catscrash@catscrash-desktop ~ % newgrp catscrash
catscrash@catscrash-desktop ~ % id
uid=1000(catscrash) gid=1000(catscrash) Gruppen=1000(catscrash),4(adm),27(sudo)
catscrash@catscrash-desktop ~ %
所以它肯定知道我的组,因为我不能对我不在的组执行此操作,一旦我更改主要组并返回,这些组就会出现......奇怪!
我还注意到,这只发生在 KDE/plasmashell 中,这对你来说是一样的吗?通过 gnome shell 登录时一切正常。
答案2
我也遇到了这个问题,在两台不同的机器上(lightdm +plasma),都是Ubuntu 18.04,都是从16.04更新的
简单的解决方案:切换到 sddm。问题消失了,我再次进入正确的组:
sudo apt install sddm
或者如果已经安装:
sudo dpkg-reconfigure -plow sddm
并选择 sddm 作为默认显示管理器(并确保安装了一些主题)。