Linux 命令行:id、组和 getent 组未返回相同的结果

Linux command line: id, group and getent group not returning the same results

我想知道为什么一方面从 idgroup 得到不同的结果,另一方面从 getent group 得到不同的结果。重现步骤:

$ sudo usermod -a -G libvirt eric
$ groups
eric adm cdrom sudo dip plugdev lpadmin sambashare
$ id
uid=1000(eric) gid=1000(eric) groups=1000(eric),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),119(lpadmin),128(sambashare)
$ getent group | grep libvirt
libvirt:x:136:eric
libvirt-qemu:x:64055:libvirt-qemu
libvirt-dnsmasq:x:137:

用户 eric 显然是 libvirt 的成员。为什么不显示 idgroup?谢谢。

系统:Ubuntu Budgie 18.04 4.15.0-34-generic

如果我没记错的话,您需要注销并重新登录或 运行 newgrp libvirt 才能使新的群组所有权生效。