Я развернул сайт wordpress на Ubuntu 20.04, используя Nginx.
Сначала я сделал:
sudo chown -R www-data:www-data .
, что решило проблему, которая была у меня при загрузке плагина.
Но теперь, когда я соединяю FTP с моим SSH ключом, используя пользователя ubuntu, я могу видеть файлы, но не модифицировать их.
Я проверил разрешения:
ubuntu@ip-172-20-36-190:~/site$ ls -al
total 220
drwxr-xr-x 5 www-data www-data 4096 Mar 18 12:31 .
drwxr-xr-x 7 ubuntu ubuntu 4096 Mar 5 09:04 ..
-rw-r--r-- 1 www-data www-data 405 Feb 6 2020 index.php
-rw-r--r-- 1 www-data www-data 19915 Mar 10 00:26 license.txt
-rw-r--r-- 1 www-data www-data 7345 Mar 10 00:26 readme.html
-rw-r--r-- 1 www-data www-data 7165 Mar 10 00:26 wp-activate.php
drwxr-xr-x 9 www-data www-data 4096 Feb 22 15:10 wp-admin
-rw-r--r-- 1 www-data www-data 351 Feb 6 2020 wp-blog-header.php
-rw-r--r-- 1 www-data www-data 2328 Oct 8 21:15 wp-comments-post.php
-rw-r--r-- 1 www-data www-data 2913 Feb 6 2020 wp-config-sample.php
-rw-r--r-- 1 www-data www-data 3216 Mar 4 17:06 wp-config.php
drwxr-xr-x 8 www-data www-data 4096 Mar 3 13:23 wp-content
-rw-r--r-- 1 www-data www-data 3939 Jul 30 2020 wp-cron.php
drwxr-xr-x 25 www-data www-data 12288 Mar 10 00:26 wp-includes
-rw-r--r-- 1 www-data www-data 2496 Feb 6 2020 wp-links-opml.php
-rw-r--r-- 1 www-data www-data 3313 Mar 10 00:26 wp-load.php
-rw-r--r-- 1 www-data www-data 44993 Mar 10 00:26 wp-login.php
-rw-r--r-- 1 www-data www-data 8509 Apr 14 2020 wp-mail.php
-rw-r--r-- 1 www-data www-data 21125 Mar 10 00:26 wp-settings.php
-rw-r--r-- 1 www-data www-data 31328 Mar 10 00:26 wp-signup.php
-rw-r--r-- 1 www-data www-data 4747 Oct 8 21:15 wp-trackback.php
-rw-r--r-- 1 www-data www-data 3236 Jun 8 2020 xmlrpc.php
Я пытался сделать chmod -R +w, но не смог получить доступ к файлам с правами на запись.
Я также пытался добавить пользователя ubuntu в группу www-data, с
sudo usermod -aG www-data $USER
но все равно, но у меня не было доступа на запись в мои файлы
Я сделал chmod -R 777 .
во всех моих файлах, и это сработало, можно ли это сделать, я слышал, что это может быть проблемой безопасности ?
Каким должен быть хороший способ сделать это ?
Если вы успешно добавили учетную запись «Ubuntu» в группу www-data, теперь вы можете предоставить ваши файлы и каталоги группы PROMITE. Причина, по которой он по-прежнему не провалил, это то, что группа www-data не пишит.
chmod -r g + w.
должен работать для вас.
Вы также можете использовать крепление привязки, чтобы позволить веб-серверу доступа к этому дереву как пользователь / группу www-data и только для чтения, но позвольте пользователям доступе к записи с чем-то Разрешения необходимости. Я использовал этот метод успешно с помощью Apache, так и Nginx.
Давайте предположим, что у вас есть ваш общий каталог чтения-записи в / home / Share, и который настроен с разрешениями группы для ваших пользователей для чтения и записи файлов там .. Давайте предположим, что www-data - это как PID, так и GID 33.
Сначала убедитесь, что у вас установлены BindFS .. ( http://manpages.ubuntu.com/manpages/trusty/man1/bindfs.1.html )
sudo apt-get install bindfs
Тогда вы делаете чтение Только привязка крепления, которое заставляет пользователя / группу быть на www-data data: -
bindfs -r --force-user=www-data --force-group=www-data /home/share /var/www/html
, поэтому эта маска для всех файлов, созданных в / home / доли в альтернативном точке монтирования только для чтения, которая читается через WWW-данные пользователя / группы Отказ
То, что вам нужно, это альтернативные разрешения, чтобы сделать эту работу .. которая, как и в полной функциональной файловой системе, такой как EXT4, вы можете использовать списки управления доступом Linux (ACL).
Следующая ссылка начнется ..
https://www.redhat.com/sysadmin/linux-access-control-lists
, в действии, вы можете управлять настройками UID и GID по умолчанию для вновь Созданные файлы в любом месте под деревом файла, которое вы настроили, что идеально подходит для того, что вы описываете.