将用户添加到新组后是否需要重新启动才能刷新权限?

Mic*_*ott 29 ubuntu permissions users groups

在 ubuntu 服务器上,我不止一次注意到,在将用户添加到组后,该用户没有组权限,直到我重新启动系统。例如:

用户 'hudson' 需要读取目录 'root:shadow /etc/shadow' 的权限,所以我将 hudson 添加到影子组。哈德森仍然无法阅读。所以,我 'sudo shutdown -h -r now' 并且当系统再次出现时,用户 hudson 可以读取。

是否需要重新启动或在将用户添加到组后是否有更好的方法来应用权限?

Try*_*ain 27

我正在寻找解决方案,遇到了这个帖子,然后找到了一个!

我以为我实际上会提供一个解决方案,以便其他人可以受益。登录和退出都是 1995 年。

取自:

https://arkaitzj.wordpress.com/2010/03/08/linux-add-user-to-a-group-without-logout/

因此,如果您需要获得cdrom刚刚将用户添加到的组的权限:

newgrp cdrom 
Run Code Online (Sandbox Code Playgroud)

例如

所以步骤是:

#adduser my_user cdrom
Run Code Online (Sandbox Code Playgroud)

进而

$newgrp cdrom
Run Code Online (Sandbox Code Playgroud)

我已经确认它有效。

$groups来自 CLI 的简单检查显示用户在组中。并使用该组所需的权限快速执行。

无需杀死您的窗口并登录和注销!希望能帮助别人!

附加信息(基于 jytou 的有用评论):“[此] 解决方案仅适用于当前打开的 shell。如果您打开了另一个 shell,则需要使用相同的命令来考虑更改。”

  • 请注意,TryTryAgain 的解决方案仅适用于当前打开的 shell。如果您打开了另一个 shell,则需要使用相同的命令来考虑更改。 (3认同)

Sco*_*ack 20

将用户添加到新组时,用户必须注销并重新登录才能生效。虽然重新启动将实现这一点,但它不应该是必需的。


Jus*_*tin 9

将用户添加到组不会影响当前登录的用户。

对于守护进程,您需要重新启动它以应用新组。

此外,使用守护程序本身中的选项重新启动守护程序将不起作用,因为这将继承当前环境。

让它工作的最简单方法是完全停止守护进程并再次启动它,如...

/etc/init.d/foo stop ; /etc/init.d/foo start
Run Code Online (Sandbox Code Playgroud)