我最近在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中)。