第一, useradd
创建一个新用户。当你(iain)已经存在时,你想要打电话 usermod
代替。那就是:
sudo usermod -aG www-data iain
addgroup www-data
(注意 -a
在基于Debian的服务器(包括Ubuntu)上,它会将您添加到该组,并将您的成员身份保留给其他组。忘了它,你将只属于www-data组 - 如果其中一个是轮子,可能是一个糟糕的经历。在SUSE类型的服务器上,选项是 -A
代替 -aG
好看 man usermod
小心翼翼地把它弄好。)
其次,你不希望apache拥有完整的rw访问权限 /var/www
:这可能是一个重大的安全漏洞。作为一般规则,只允许你需要的东西,仅此而已( 最小特权原则 )。在这种情况下,你需要apache( www-data
) 你呢 ( www-data
group)写入(和读取)in /var/www/example.com/public_html
所以
sudo chown -R www-data:www-data /var/www/example.com/public_html
sudo chmod -R 770 /var/www/example.com/public_html
编辑 :回答你的原始问题,是的,任何成员 www-data
现在可以阅读和执行 /var/www
(因为你的权限的最后一位是5 = read + exec)。但是因为你没有使用过 -R
开关,仅适用于 /var/www
,而不是它包含的文件和子目录。现在,他们是否可以写作是另一回事,而且取决于他们的群体 /var/www
,你没有设置。我想这通常是 root:root
,所以不,他们(可能)不能写。
编辑于2014-06-22 :补充说明 -aG
选项在基于Debian的服务器上有效。它显然随着分布而变化,所以请阅读 man
在执行前仔细。