添加了用户补充组,但“组(1)”未显示更改

fth*_*ker 19 users group

我正在尝试将自己添加到fuse用户组,但即使/etc/group在调用addgroupusermod后看起来正确,但看起来更改并未生效。

我两个都试过了...

sudo addgroup fjohnson fuse
Run Code Online (Sandbox Code Playgroud)

sudo usermod -a -G fuse fjohnson
Run Code Online (Sandbox Code Playgroud)

/etc/group显示更改

fuse:x:104:fjohnson
Run Code Online (Sandbox Code Playgroud)

但我看不懂

-rw-r----- 1 root fuse 215 Oct 16 10:39 /etc/fuse.conf
Run Code Online (Sandbox Code Playgroud)

作为

cat: /etc/fuse.conf: Permission denied
Run Code Online (Sandbox Code Playgroud)

组(1)返回

fjohnson adm dialout cdrom plugdev lpadmin admin sambashare
Run Code Online (Sandbox Code Playgroud)

小智 22

当您向用户添加组时,该用户应注销/登录以使更改生效。

您也可以使用newgrp命令。

  $ id
  uid=1000(romain) gid=1000(romain) groups=1000(romain),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),105(scanner),110(bluetooth),112(netdev)
  $ sudo addgroup romain fuse
  Adding user `romain' to group `fuse' ...
  Adding user romain to group fuse
  Done.
  $ id
  uid=1000(romain) gid=1000(romain) groups=1000(romain),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),105(scanner),110(bluetooth),112(netdev)
  $ newgrp fuse
  $ id
  uid=1000(romain) gid=103(fuse) groups=1000(romain),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),103(fuse),105(scanner),110(bluetooth),112(netdev)
Run Code Online (Sandbox Code Playgroud)

  • 注意`newgrp fuse`的作用不是让“Adding user romain to group fuse”生效,作用是__用户的主GID改变了__是根本不同的——比如新创建的文件会有gid=103而不是 gid=1000。 (7认同)
  • 这不是我想要的答案。我有同样的问题,当我将用户添加到一个组时,它显示在`/etc/group`中,但没有显示在`groups`中,我已经退出,重新登录,仍然没有显示。我确实启用了 ssh 多路复用,我想知道是不是这样,但是我觉得退出就足够了。这个是针对Centos6的,这个问题在多台服务器上都是一致的。newgrp 似乎只是一种临时解决方法,我想在其中设置用户权限,并希望确保其正常工作。 (7认同)
  • @JakubKlinkovský - 调用 `newgrp fusion` 然后调用 `newgrp romain`,如本答案中详细讨论的 - https://unix.stackexchange.com/a/613608/247579 (2认同)
  • @BrianThomas - 'newgrp' 打开一个新的 shell,在那个 shell 中,新组显示在 `groups` 中。确实,如果你离开那个外壳,效果就会逆转,没有副作用。如果这还不够,并且您正在寻找重新启动的替代方法(因为注销不起作用),请尝试查看我的答案的第二部分 https://unix.stackexchange.com/a/613608/247579 ,我在那里讨论杀死一个名为`(sd-pam)` 的用户进程,该进程独特地没有被注销杀死。可能与`systemd`有关。在 ubuntu 20.04 为我工作。 (2认同)