需要重新启动Xubuntu以使chgrp工作吗?

时间:2014-05-06 11:33:41

标签: linux chgrp

我最近在Xubuntu 12.04和14.04中发现了一个相当奇怪且出乎意料的行为。

我正在做以下事情:

使用

测试我的用户是否在组users
groups $USER

默认情况并非如此。所以我将我的用户添加到这个组:

sudo usermod -a -G users $USER

我可以查看文件/etc/group,并会在条目中添加我的用户。

然后我想让群组用户访问一些文件,在我的例子中是www和cgi-bin目录:

sudo chgrp users /var/www /usr/lib/cgi-bin

我也希望我的小组可以写入目录:

sudo chmod g+w /var/www /usr/lib/cgi-bin

我认为,我现在可以在这些目录中创建一个文件,但我不能。既不是命令行,也不是Xubuntu的标准文件浏览器。

我读到的某个地方,我需要从终端注销才能使其工作,所以我关闭并重新打开命令行终端,但它现在仍在工作。

但是:我重新启动整个系统一切正常......

严重???为什么这样,它是一个错误还是一个功能,是否有更好的方法,然后重新启动完整的操作系统?

(我认为Linux的优势正是你不需要像其他人一样#34;流行的"操作系统一直重启

(注意:我还没有在其他系统上对此进行测试,例如Debian ......)

1 个答案:

答案 0 :(得分:1)

组合成员资格从unixoid环境中的许多其他事物继承。这意味着正在运行的shell将受到帐户配置中此类更改的影响。此外,只是打开一个新的终端或shell将不会显示更改,因为它是从已经运行的进程生成的,最终是从登录后立即启动的初始进程中生成的。

您必须重新运行登录过程。通过重新启动图形环境,或者在处理虚拟终端时执行注销/登录序列。显然,重新启动将导致新的登录过程。

唯一的直接选择是显式生成一个新的登录shell:bash -l例如诀窍:它重新执行登录时运行的所有东西。但请注意,这只会影响启动shell和从中生成的进程。 会影响其他已在运行的进程。所以你有一个混合的环境......