chmod 775/664与拥有者www-data:www-data是否安全?

为了使我的web服务器最简单,我build议做类似以下的事情:

sudo chown www-data:www-data /var/www -R cd /var/www sudo find . -type f -exec chmod 664 {} \; sudo find . -type d -exec chmod 775 {} \; 

我也将我的日常用户添加到www-data组中。

我的问题是:这是一个愚蠢的/有风险的权限集? 给www-data组的那些权限打开我的服务器?

感谢Alex

通常你只想让上传文件夹或自动生成的文件可以被www-data用户写入。

无论如何,您在这里打开的风险是,如果您的Web应用程序有任何可能允许攻击者在您的服务器上执行代码的缺陷/漏洞,此代码将以www-data (apache进程正在运行的用户)的身份执行,可以完全删除您的所有网站。

假设www-data是暴露给Web服务器的用户,这听起来有风险,但实质上是失去了ACL提供的写保护。 第二个选项(775)也会增加攻击者能够远程运行你机器上的代码的风险。

本身,不,如果你的networking服务器没有被configuration为遵守POST请求和这样的东西。 但是,如果Web服务器或其客户端脚本中存在任何允许写入文件系统的错误(并且随着PHP脚本数量的增加,发生这种情况的可能性是1),那么您的整个内容就变得可写了。 所以:这是有风险的,你应该考虑其他的select。

您不应该允许普通用户访问此目录。 如果用户不需要从该目录写入或执行,则不应该被允许这么做。 至less我将权限限制为755.只有root用户(或具有root用户权限的用户)和www-data才能写入该目录。

对整个文件夹拥有写入权限不是一个好主意,大多数网站(例如:wordpress,joomla和magento)需要对特定文件夹(图片上传,file upload)的写入权限更好的办法是给文件夹写入权限并且不允许执行脚本(PHP,Python)执行,总是检查用户是否正在上传正确的内容,例如,如果你的网站允许用户上传图片的头像,检查它是否是图片而不是假图片与PHP脚本里面。 而在网站根目录上写入权限的问题是,如果有人发现他可以用它来写一个新的index.php文件和'破解'你的网站的漏洞。