将用户添加到新组后需要重新启动吗?

在Ubuntu服务器上,我已经注意到不止一次,在用户添加到用户没有权限之前,我重新启动系统。 例如:

用户'哈德森'需要权限阅读目录'root:shadow / etc / shadow'所以我添加哈德森阴影组。 哈德森还是看不懂。 所以,我'sudo关机-h -r现在',当系统再次出现用户哈德森可以读取。

是否需要重新引导,或者在将用户添加到组之后是否有更好的方式来获取权限?

我正在寻找一个解决scheme,碰到这个post,然后find一个!

我以为我会提供一个解决scheme,让其他人可以受益。 1995年login和注销是如此。

取自:

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

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

 newgrp cdrom 

例如

所以这些步骤将是:

 #adduser my_user cdrom 

接着

 $newgrp cdrom 

我已经证实,它的工作原理。

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

没有必要杀你的窗户,login和注销! 希望能帮助别人!

附加信息 (基于jytou的有用评论):“[这个]解决scheme只适用于当前打开的shell,如果你打开另外一个shell,你需要使用相同的命令来考虑这些改变。

将用户添加到新组时,用户必须注销并重新login才能生效。 虽然重启会完成,但不应该要求重启。

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

在守护进程的情况下,您需要重新启动它才能应用新的组。

此外,使用守护进程中的选项重新启动守护进程将不会工作,因为这将inheritance当前环境。

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

 /etc/init.d/foo stop ; /etc/init.d/foo start 

这里还有一个不同的故障模式。

如果pipe理员更新了/etc/group但是没有更新/etc/gshadow (在具有此设置的系统上),注销并返回时实际上不会将您分配给新组。

令人困惑的是, groups会向您显示真实的当前情况,而id会错误地打印输出,表明您已经是群组的成员。

 tripleee@vbvntv$ groups tripleee tripleee@vbvntv$ id uid=1234(tripleee) gid=1234(tripleee) groups=1234(tripleee),4(adm) tripleee@vbvntv$ ls -l /var/log/mail.log -rw-r----- 1 root adm 15728 May 26 14:26 /var/log/mail.log tripleee@vbvntv$ tail /var/log/mail.log tail: cannot open `/var/log/mail.log' for reading: Permission denied 

我不能使用newgrp因为它要求input密码,而我没有密码,只有SSH公钥authentication。

解决办法是让pipe理员恢复/etc/groups的手动编辑,然后用sudo gpasswd -a tripleee adm再次sudo gpasswd -a tripleee adm ; 或者,使用grpconv来合并更改(我从https://serverfault.com/a/389719/98333获取 )

这是更简单的,你可以通过键入以下内容来检查当前的访问级别:

 id 

重新加载您刚刚需要的组:

 su - $USER 

之后再次检查访问级别:

 id 

你会看到新的组现在活跃。