刷新补充组成员身份而无需再次登录?


12

据我了解,Linux会话在登录时会缓存其组成员身份。然后,如果添加了新的组成员身份(例如使用adduser someuser somegroup),则用户必须注销并再次登录才能使用新的成员身份。

我的问题是:有什么方法可以刷新进程中的组成员身份,而无需再次登录,退出当前进程或启动新进程?

Answers:


9

您可以从会话开始新的登录

$ su - your_login

它不会影响您的运行过程。如果您使用的是Xserver,则可以启动xterm并键入此命令(仅影响此终端会话),使其具有持久性的唯一方法是完成会话并重新启动


如果只允许对服务器进行公钥身份验证,则需要导入私钥?
西里尔·杜尚·多丽丝


2

其他人提到了“ su - $USER”和“ newgrp”,我想我应该提到您也应该关注“ sg”。



1

您可以使用gpasswd立即更改:

gpasswd -a someuser somegroup

无需创建新的shell或重新登录。然后使用getent以下命令验证组成员身份:

getent group somegroup

您正在创建组,然后在查找该组。这与所讨论的问题无关-更改在当前会话中无效。
Str。

0

怎么办(尽管它只满足您无需重新登录的要求)

exec /bin/bash -l

-l标志将假定使用一个新的登录shell,而exec将用该新的shell替换当前shell。顺便说一句,不要误输入外壳名称:-)

如先前所建议的,使用newgrp和su的一个问题是将创建一个新的子shell。是的,您也可以在它们前面加上exec命令。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.