更改组成员身份后是否需要重新启动?

更改组成员身份后是否需要重新启动?

我想知道为什么需要重新启动才能应用我所做的更改。

我指的是使用

adduser username sudo

我使用 Ubuntu 12.04.1 LTS“服务器”。

答案1

您无需重启系统,但你必须登出登录再次。仅在登录时评估组成员身份。

如果您处于不方便注销和重新登录的情况(例如,SSH 会话),那么您可以使用su - <user>(或等效地su -l <user>su --login <user>)生成登录子 shell,但它只能在该子 shell 中工作。
(感谢 steeldriver 指出这一点)。

答案2

除了以前的答案之外:

您还可以通过说 来“激活”给定终端中的某个组。newgrp name_of_group

一个例子:

% whoami
kindaro

% groups  # Where we start at.
shared nix wheel kindaro

% sudo usermod --append --groups audio kindaro  # Let us add a group membership.

% groups  # As you see, nothing changed yet.
shared nix wheel kindaro

% newgrp audio

% groups  # Now the change is in effect.
audio shared nix wheel kindaro

此命令的作用是创建一个新的 shell 进程来覆盖已运行的 shell 进程。如果您不希望在 shell 中再运行 shell,您可以执行exec newgrp ...以下命令。

答案3

进行测试,从您的终端呼叫

id

它将向您显示当前登录会话的用户名和组。这是唯一可以确定您的更改是否正确的方法。输出将类似于

uid=102(安德鲁) gid=101(用户) groups=101(用户),14(系统管理员)

相关内容