这是在 CentOS 5.3 服务器上
我以 myUser 身份登录。
登录后,myUser 被添加到一个新组。(root 在另一个会话中编辑 /etc/group 文件)
如何才能使更改生效,而无需注销并重新登录?
账单
答案1
让用户运行:
exec su $USER
或者:
exec sudo -u $USER -s
这将用刚以他们身份登录的新登录 shell 替换他们的登录 shell。su 肯定会提示他们输入密码。sudo 可能不会,但我相信需要配置 /etc/sudoers,以便用户有权以自己的身份运行 shell。如果省略“exec”,用户将不得不“exit”两次。
在 Unix 上,当您登录时,有一段时间软件以 root 身份运行,对用户进行身份验证,然后设置组,然后切换到以该用户身份运行 shell。此后,除非再次使用以 root 身份运行的软件,否则无法更改权限。
答案2
这几乎是不可能的,因为登录会话一开始就读取组文件。如果您启动新的登录会话,您可能能够做到这一点,但我认为这是不可能的。