Разрешения Linux / защита от записи, несмотря на то, что права собственности и разрешения в порядке - PullRequest
0 голосов
/ 29 апреля 2018

Описание проблемы

Файлы в каталоге, похоже, каким-то образом защищены от записи на компьютере с Ubuntu, на котором запущен Apache2 в качестве веб-сервера.

  • Когда я пытаюсь редактировать файлы в SSH, я должен сделать это как root sudo vi.

  • Иногда, когда PHP пытается выполнить запись в файл на сервере с file_put_contents(), я получаю сообщение об ошибке отказа в доступе к файлу в журнале PHP.

Устранение неполадок на данный момент

Сначала я проверил разрешения для файлов и каталогов в соответствующем каталоге /var/www/foo (где foo - корневой веб-каталог _ одного из сайтов на сервере) stat -c "%a %n" *

Практически все сейчас установлено на 755, рекурсивно

775 cgi-bin
775 core.24135
775 gulpfile.js
775 index.php
775 material
775 media
775 node_modules
775 package-lock.json
775 package.json
775 readme.html
775 readme.md
664 sitemap.xml
755 views
775 wp-activate.php
775 wp-admin
775 wp-blog-header.php
775 wp-comments-post.php
775 wp-config-sample.php
775 wp-config.php
775 wp-cron.php
775 wp-includes
775 wp-links-opml.php
775 wp-load.php
775 wp-login.php
775 wp-mail.php
775 wp-settings.php
775 wp-signup.php
775 wp-trackback.php
775 xmlrpc.php

Когда я использую PHP для исполнения whoami, я получаю пользователя по умолчанию Apache, www-data. Поскольку я хочу, чтобы этот пользователь и я сам записывали в каталог, я создал новую группу и передал ей право собственности на данный каталог рекурсивно:

sudo groupadd wwwusers
sudo gpasswd -a apache wwwusers 
sudo gpasswd -a fooweb wwwusers 
sudo gpasswd -a www-data wwwusers
sudo chown -R www-data:wwwusers /var/www/foo
sudo chmod -R g+w /var/www/foo

Тем не менее, в PHP есть проблема , в которой разрешено разрешение на файл, в который я пишу, и мне нужно sudo, чтобы просто отредактировать в SSH.

Есть идеи, что еще может быть не так?

...