我有一个用户(我们称之为myuser)运行的守护进程。 我希望他能够读取/写入/ var / www目录中的文件。 这个目录的所有者和其中的所有文件是www-data(apache2的用户)。 所以我使用addgroup命令将myuser添加到组www-data,并对www-data中的所有文件recursion地执行chmod。 所以现在我在每个文件上都有类似rwx rwrx的东西。 命令“groups myuser”告诉我,我的用户在www-data和myuser组中,所以在这里一切正常。
现在我想刷新组的权限,导致我的守护进程仍在运行,他不能在/ var / www中写任何东西。 我读了newgrp命令的manpage,但我认为这个命令只能刷新我当前用户的权限,而不是我的守护进程的用户(或者如果我可以,我不知道如何使用它) 。
所以我的问题是:如何在不重新启动的情况下刷新myuser的权限? 我应该重新启动守护程序吗?
感谢您的关注。
祝一切顺利 :)
重启守护进程就可以做到,但是重启守护进程切换到用户的部分就足够了(比如killall -HUP httpd )。
是的我做了,守护进程甚至不能读取文件。 以后我会尝试/etc/init.d/daemon restart,现在不可能。 我会告诉你什么时候会完成。
Maxfer是对的。 没有什么需要刷新或重新启动。 但是,如果我正确地读取了你的问题,你就错过了对这个组的执行许可,这可能会导致你的守护进程不能读取(或写入)/ var / www中的任何目录
它应该是:
rwxrwxr-X
我的用户“myuser”位于myuser和www-data组中。 / var / www中的ls -l是这样的:rwxrw-rx www-data www-eachfiles(包括)上的数据。我的守护进程无法写入这些文件或在/ var / www中创build一个新目录。 所以其他人的权利是适用的:rx,而不是权利rw-
但是我同意,这里有一个不一致的地方,/ var / www中的权限应该是rwxrw-r–或者rwxrwxr-x而不是rwxrw-rx 🙂
现在我的守护进程已经重新启动,没关系,他可以创build目录,并在/ var / www中写入文件。 就像Daenyth和Ignacio说的那样,正在运行的进程的用户的权限不会被更新,直到你重新启动进程。
谢谢大家
我认为没有必要刷新任何东西。 当守护进程尝试访问这些文件之一时,linux将允许。 你试试没有重新启动?