不能写入nginx www文件夹

我最近在Ubuntu 12.04的开发机器上安装了nginx

我目前以myuser身份login,在安装nginx后,我设置了以下文件权限(nginx www文件夹属于root用户,所以我想改变它,以便用myuser编辑文件):

# add myuser to nginx group sudo usermod -a -G www-data myuser # change ownership for www folder to nginx user (www-data) chown -R www-data:www-data /usr/share/nginx/www chmod -R 775 /usr/share/nginx/www 

然后我去/ usr / share / nginx / www并尝试创build一个新的文件夹/文件。 我总是获得权限被拒绝。

以下是该文件夹的列表:

 drwxrwxr-x 2 www-data www-data 4096 Apr 29 11:01 . drwxrwxr-x 3 www-data www-data 4096 Apr 29 11:01 .. -rwxrwxr-x 1 www-data www-data 383 Jul 7 2006 50x.html -rwxrwxr-x 1 www-data www-data 151 Oct 4 2004 index.html 

在这里一切似乎都很好。 我注意到唯一奇怪的是myuser的id命令。

 uid=1000(myuser) gid=1000(myuser) groups=1000(myuser),4(adm),20(dialout),24(cdrom),46(plugdev),116(lpadmin),118(admin),124(sambashare) 

正如你所看到的组www-data(id = 33)不显示id命令。 但是,如果我尝试

 id -G myuser 1000 4 20 24 33 46 116 118 124 

使用最新的命令,myuser显示组ID 33,这让我觉得这个用户实际上是在www-data组中。

有没有人有一个想法,为什么我不能以myuser写入/ usr / share / nginx / www文件夹?

为了获得www-data组权限,您需要更改myuser的有效组。

问题

 newgrp www-data 

这应该使你能够写入/usr/share/nginx/www

在我看来,在你第一次改变你的组后, id的输出将被更新(在Ubuntu中)。