首页 > 解决方案 > Apache 的 Ubuntu 文件权限问题

问题描述

我已经ubuntu 20.04安装了ec2-instancewithapache2php7.2.

我需要使用 php 脚本将文件上传到一个uploads文件夹,然后使用 php对这些文件执行一些基于 linux 的命令(unoconv和)。文件夹结构/权限如下:ghostscriptexec

/var/www/html/<project-name>/uploads/<sub-folder>/<files>

每个都有以下文件权限

drwxr-xr-x  4 root root 4096 Jul 10 19:26 html
drwxrwxr-x 8 ubuntu www-data 4096 Jul 11 14:35 <project-name>
drwxr-sr-x  3 ubuntu www-data  4096 Jul 11 13:07 uploads
drwxr-sr-x 4 ubuntu www-data 4096 Jul 11 13:33 <sub-folder>
-rw-r--r-- 1 ubuntu www-data 413895 Jul 11 13:07 <file>
  1. 在上面提到的文件权限和所有权中,如果我尝试上传任何文件或mkdir,我会从 php/apache 收到权限被拒绝错误。如果我将所有权更改为www-data:www-data.
  2. 如果我将其更改为www-data:www-data,则unoconv停止工作,由于某种原因,它仅在文件夹所有者为ubuntu.
  3. 如果我将它改回ubuntu:www-data,ghostscript 由于 开始失败invalidfileaccess,我尝试添加-dNOSAFER标签,但这无济于事。尝试使用pdftoppm,它也有与ghostscript相同的问题。

我尝试创建一个新用户并将该用户添加到ubuntuwww-data中,但这不起作用。我添加ubuntuwww-data和组www-dataubuntu,这也不起作用。

我觉得我现在搞砸了太多。上述文件夹的正确权限和所有权应该是什么,以允许 apache 上传文件和 ubuntu 对其执行操作?我愿意做实验。

标签: ubuntupermissionsapache2ghostscriptunoconv

解决方案


推荐阅读