Итак, вот моя проблема. Из-за того, что на моем сервере установлен Nginx, мне постоянно приходится переключать разрешения между идентификаторами пользователей ubuntu и nginx.
Для работы обновлений в 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, поэтому это может немного сбивать с толку.