我认为recruive /srv/site到www-data:www-data并用ug+rwxrecursion地chmodded它。 然后我join了自己的www-data 。
$ sudo usermod -a -G www-data cyrus $ sudo chgrp -R www-data /srv/site $ sudo chmod -R ug+rwX /srv/site
但是,为什么我仍然拒绝许可?
$ ls /srv/site ls: cannot open directory /srv/site: Permission denied $ cd /srv; ls -la total 12 drwxr-xr-x 3 root root 4096 Aug 13 02:42 . drwxr-xr-x 24 root root 4096 Aug 11 21:20 .. drwxrwx--x 10 www-data www-data 4096 Aug 13 02:42 site
你有没有再次login? 一旦用户login,组成员通常不会重置。
正如你指出的,你必须重新login刷新组向量。
为了不松懈你的工作环境(例如其他开放的terminal),你可以考虑
user$ su - user
要么
user$ newgrp www-data
那么从那里你可以用完整的组vector产生新的程序。
在newgrp情况下,结果是你的主要组是www-data (在这种情况下),这是重要的,例如。 当创build新的文件。
在su情况下,我不知道如何用sudo实现相同的效果( sudo -iu user不刷新组vector)。