需要写访问权限的脚本的文件权限

需要写访问权限的脚本的文件权限

这个问题对我有很大帮助:

处理 /var/www 中 Apache 2 用户 www-data 权限的最佳方法是什么?

我想进一步回答上述问题,我希望能够将上传脚本用于一些 Web 应用程序、主机 cms 等。

因此,就目前情况而言,所有文件 /var/www/ 都归 root 所有并属于组 www-pub,所有目录都有 775,文件都有 664。

我编写了一个简单的图片上传脚本,该脚本抓取图片,如果不存在则创建一个名为“pictures”的目录,并保存图片。我在 /var/www/ 内的新目录中创建了文件,用户名为 testuser1,属于 www-pub 组。

到目前为止一切顺利,可以在浏览器中访问它...但是,正如预期的那样,脚本无法创建文件夹“图片”。如果我手动创建文件夹并授予其 777 权限,脚本将按预期执行。

这是正确的处理方式吗?我觉得脚本本身不应该具有公共写入权限。但是,为需要 www-data 写入权限的目录设置单独的权限似乎有点繁琐,尤其是在涉及一些较大的项目时。拥有 777 个权限的目录可以吗?

任何建议都很好,谢谢!

答案1

我假设你正在使用 Apache httpd

确保 httpd 在 www-pub 组中运行。可以在 /etc/httpd/conf/httpd.conf 中检查,查找类似以下内容的部分:

User httpd
Group httpd

并将组更改为 www-pub 然后重新启动服务器。

您可能还需要运行usermod -a -G www-pub httpd 。这会将 apache 在其下运行的系统用户添加到组中。

当然,将 httpd 替换为 apache 正在运行的用户

相关内容