需要哪些权限才能写入webroot之外的文件夹


What permissions are needed to write to folder outside of webroot?

我正在使用nginx并安装Wordpress;我试图想出一种方法,将用户上传的内容存储在web根目录之外,并在需要时使用php脚本为其提供服务。

我确信我需要以root身份登录服务器以完成正确的设置;但我不知道为nginx设置权限的正确方法,以允许php脚本写入文件夹并访问其内容。

我的web根目录路径如下:

/var/www/vhosts/mydomain.com/httpdocs

所以我想在这里创建一个文件夹(我猜):

/var/www/vhosts/mydomain.com/new_folder

我以前没有以root用户的身份登录到服务器,但我发现了一些可能相关的命令行。我不知道哪一个适用于我的情况。

mkdir /var/www/vhosts/mydomain.com/new_folder
chmod 755 /var/www/vhosts/mydomain.com/new_folder

这对运行nginx的服务器有效吗?还是我需要这样的东西?

mkdir -p /var/www/vhosts/mydomain.com/new_folder
sudo chmod -R 0755 /var/www/vhosts/mydomain.com/new_folder

我认为sudo命令处理的是应该只由root用户访问的文件夹的权限。

我很难研究这个问题,因为我不知道该在哪个上下文中使用这些命令。我仍然不知道如何设置文件夹的权限,以便php脚本可以读取和写入该目录。

我真的可以朝着正确的方向推动,因为我害怕在以root身份登录的服务器上开始盲目输入命令。

我不是nginx专家,我习惯了apache,但我想你所需要做的就是确保nginx运行的用户对文件夹有写权限。为了使该命令字:

mkdir /var/www/vhosts/mydomain.com/new_folder

您需要确保以对/var/www/vhosts/mydomain.com/具有写访问权限的用户身份登录。如果您的普通用户没有sudo的权限,那么sudo基本上意味着以root用户身份运行此命令。完成后,它还应该询问您的根密码。如果您没有足够的权限执行某些操作,则可以在上面或下面列出的任何命令前面添加sudo

此命令正在创建一个新目录/文件夹mkdir=make目录。此命令:

chmod 755 /var/www/vhosts/mydomain.com/new_folder

正在更改您刚刚创建的文件夹的权限。你可以做一些研究,看看755代表什么。更重要的是,您可能需要使用chown命令将目录的所有权授予nginx用户。正如我所说,我不是nginx用户,所以我不知道标准用户名是什么,但对于apache来说,它看起来像这样:

chown www-data:www-data /var/www/vhosts/mydomain.com/new_folder