25 linux session users permissions
在我编辑 /etc/group 并将用户添加到它不属于的组后,用户将无法使用它新获得的权限,除非它启动一个新会话。
是否有在正在进行的会话中刷新用户/组属性的命令?
niX*_*Xar 16
在内核级别,组成员资格是每个进程的属性。除非它具有适当的能力(CAP_SETGID,如果我没记错的话),即所有意图和目的的 root 权限,一个进程不能属于一个新组。
用户不作为内核级别的对象存在;只有进程(和文件)可以。一个进程有一个 uid(有效的和诸如此类的)和一个组 ID 列表。
当您将用户添加到组时,内核不知道这意味着什么。它只是间接知道,下次 /bin/login 或 /usr/bin/newgrp 运行时,具有该用户 ID 的进程将在其列表中具有新的组 ID。
因此,要回答您的问题,如果您说的是 Gnome 或 KDE 会话,则确实必须重新启动它。或者如果你只关心一个命令的结果就新组而言,你可以使用我刚刚提到的 newgrp 。它将使用新添加的组启动一个新的 shell。