12 据我了解,Linux会话在登录时会缓存其组成员身份。然后,如果添加了新的组成员身份(例如使用adduser someuser somegroup),则用户必须注销并再次登录才能使用新的成员身份。 我的问题是:有什么方法可以刷新进程中的组成员身份,而无需再次登录,退出当前进程或启动新进程? linux permissions — 阿夫迪 source
9 您可以从会话开始新的登录 $ su - your_login 它不会影响您的运行过程。如果您使用的是Xserver,则可以启动xterm并键入此命令(仅影响此终端会话),使其具有持久性的唯一方法是完成会话并重新启动 — ar source 如果只允许对服务器进行公钥身份验证,则需要导入私钥? — 西里尔·杜尚·多丽丝
5 我不这么认为。但是您可以使用该newgrp命令使用新组生成新的外壳程序。这不是永久的。 newgrp superawesomegroupname 您需要再次注销用户。 — 约瑟夫·科恩 source 1 +1无需密码/身份验证即可工作su — Cyril Duchon-Doris
1 您可以使用gpasswd立即更改: gpasswd -a someuser somegroup 无需创建新的shell或重新登录。然后使用getent以下命令验证组成员身份: getent group somegroup — 汤巴 source 您正在创建组,然后在查找该组。这与所讨论的问题无关-更改在当前会话中无效。 — Str。
0 怎么办(尽管它只满足您无需重新登录的要求) exec /bin/bash -l -l标志将假定使用一个新的登录shell,而exec将用该新的shell替换当前shell。顺便说一句,不要误输入外壳名称:-) 如先前所建议的,使用newgrp和su的一个问题是将创建一个新的子shell。是的,您也可以在它们前面加上exec命令。 — mdpc source