Nginx 服务器 FTP 权限被拒绝

Nginx 服务器 FTP 权限被拒绝

所以,这是我的问题。由于我的服务器上设置了 Nginx,所以我必须不断在 ubuntu 和 nginx 用户 ID 之间来回切换权限。

为了使 WordPress 中的更新工作顺利进行,nginx 需要具有完全权限。

对于 FTP 访问,ubuntu 需要具有完全权限。

当其中一个被授予权限时,另一个就会停止工作。因此,我只能访问 FTP,或者在 WordPress 中更新,但不能同时访问两者。

我尝试创建一个组并为该组设置完全权限,但无法使其正常工作。

nginx 用户和 ubuntu 用户都在 nginx 组中,并且 nginx 组似乎对主目录有权限(递归 - 或者至少我假设如此!)

ls -l /var/www结果是:

total 6104
-rw-r--r--  1 nginx nginx     418 Dec 19  2014 index.php
-rw-r--r--  1 nginx nginx 6054753 Nov 20  2014 latest.tar.gz
-rw-r--r--  1 nginx nginx   19930 Feb 19  2015 license.txt
-rw-r--r--  1 nginx nginx    5633 Jul 14 11:43 nginx.conf
-rw-r--r--  1 nginx nginx    1559 Dec 16  2011 nginx_signing.key
-rw-r--r--  1 nginx nginx    7360 Sep 15 19:22 readme.html
-rw-r--r--  1 nginx nginx    4951 Dec 19  2014 wp-activate.php
drwxr-xr-x  9 nginx nginx    4096 Nov 20  2014 wp-admin
-rw-r--r--  1 nginx nginx     271 Dec 19  2014 wp-blog-header.php
-rw-r--r--  1 nginx nginx    5007 Apr 24 16:18 wp-comments-post.php
-rw-r--r--  1 nginx nginx    2764 Aug 20 10:13 wp-config-sample.php
drwxr-xr-x 10 nginx nginx    4096 Sep 20 15:12 wp-content
-rw-r--r--  1 nginx nginx    3286 Aug 20 10:13 wp-cron.php
drwxr-xr-x 12 nginx nginx    4096 Aug 20 10:13 wp-includes
-rw-r--r--  1 nginx nginx    2380 Dec 19  2014 wp-links-opml.php
-rw-r--r--  1 nginx nginx    3123 Apr 24 16:18 wp-load.php
-rw-r--r--  1 nginx nginx   34669 Aug 20 10:13 wp-login.php
-rw-r--r--  1 nginx nginx    8252 Dec 19  2014 wp-mail.php
-rw-r--r--  1 nginx nginx   11062 Aug 20 10:13 wp-settings.php
-rw-r--r--  1 nginx nginx   25124 Aug 20 10:13 wp-signup.php
-rw-r--r--  1 nginx nginx    4035 Dec 19  2014 wp-trackback.php
-rw-r--r--  1 nginx nginx    3055 Aug 20 10:13 xmlrpc.php

groups nginx结果是:

nginx : nginx

groups ubuntu结果是:

ubuntu : nginx adm dialout cdrom floppy sudo audio dip video plugdev netdev

使用刷新组的权限chgrp -R nginx /var/www似乎没有任何作用。

我对这种事情并不太有经验,我会尽快雇佣一个更有资格的人来处理这件事。

在此之前,社区中是否有好心人可以提出一些建议?

答案1

我似乎已经回答了我自己的问题!

看起来,有问题的目录属于该组,但没有与所有者相同的权限。

我最终chmod g=u /var/www授予该组与用户相同的权限,这似乎已经奏效了!

答案2

usermod -a -G nginx user将 ftpuser 添加到组 nginx

chmod -R g=u /var/www这在解决同样的问题时对我很有用。

在 CentOs 或 Fedora 上,nginx 不使用“www-data”而是使用“nginx”作为默认组,并且互联网上的大多数教程都使用 www-data,因此可能会有点令人困惑。

相关内容