Nginx

Nginx 伺服器 FTP 權限被拒絕

  • May 29, 2018

所以,這是我的問題。由於在我的伺服器上設置了 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似乎沒有任何作用。

我在這種事情上並沒有過多的經驗,並且會在短期內僱用更有資格的人來處理它。

在此之前,社區中是否有任何善良的靈魂能夠提出任何建議?

我似乎已經回答了我自己的問題!

似乎有問題的目錄屬於該組,但沒有與所有者相同的權限。

我最終使用chmod g=u /var/www為組授予與使用者相同的權限,這似乎成功了!

usermod -a -G nginx user將 ftpuser 添加到 nginx 組

chmod -R g=u /var/www這在同一個問題上為我解決了問題。

在 CentOs 或 Fedora 上,nginx 不使用“www-data”,而是使用“nginx”作為預設組,並且網際網路上的大多數教程都使用 www-data,因此可能有點混亂。

引用自:https://serverfault.com/questions/723790