Рейтинг:0

у пользователя нет прав на запись в принадлежащих ему папках?

флаг ua

я работаю над Debian10 с php8 fpm + apache2 , я создал нового пользователя с группой имя пользователя:имя пользователя , и я установил домашний каталог для этого пользователя, расположенный по адресу

/дом/имя пользователя/www

конечно я chmod -R все папки и файлы в имя пользователя:имя пользователя , раньше было www-data когда файлы были внутри /вар/html

так что в основном у меня есть небольшой скрипт, пытающийся написать папку кеша, но он не работает, когда я chmod папки на имя пользователя: имя пользователя, это работает, только если я chmod папки на www-данные?

папка кеша chown 755, и она работает нормально, если принадлежит www-данные нет имя пользователя

можно ли разрешить имя пользователя имеет разрешение на запись, например www-данные?

PS: имя пользователя является примером для реального

Chris avatar
флаг it
Мой собственный подход: установить chown user:www-data, chmod 750 и 770 только для каталогов, которые должны быть доступны для записи Apache. Таким образом, пользователь является владельцем и может делать что угодно, www-data имеет доступ на чтение (или + запись при необходимости), а другие запрещены.
Mr Sparrow avatar
флаг ua
@ Крис, можешь опубликовать свой полный ответ? так что, если это плохо, отметьте это как sovled
Рейтинг:0
флаг it

А возможное подход к пусть имя пользователя контролировать вещи, в то время как www-данные имеет доступ только для чтения по соображениям безопасности и доступ для записи только там, где это необходимо:

  • Установлен имя пользователя как владелец и www-данные как группа

    chown -R имя пользователя: www-data /home/username/www
    
  • Дайте полный доступ владельцу (чтение/запись/исполнение: 7) и доступ только для чтения к группе (чтение/исполнение: 5). Другой группа здесь не имеет доступа (0).

    chmod -R 750 /home/имя_пользователя/www
    
  • Разрешить запись на www-данные где это необходимо:

    chmod -R 770 /home/username/www/path/writable/by/webserver
    

Файлы, созданные веб-сервером, будут полностью принадлежать ему (www-данные: www-данные), но владелец каталога (имя пользователя) по-прежнему может их перемещать.

Рейтинг:0
флаг cc

По умолчанию, когда вы устанавливаете PHP-FPM, он устанавливает один пул, который работает как www-данные пользователь. Если вы измените пользователь и группа в /etc/php/8.0/fpm/pool.d/www.conf правильному пользователю, тогда ваш скрипт будет работать как пользователь, и www-данные не потребуется разрешения на запись.

В вашей конфигурации есть эти 2 строки по умолчанию:

пользователь = www-данные
группа = www-данные

Замените эти строки на:

пользователь = имя пользователя
группа = имя пользователя

Перезапустите демон FPM.

служба перезапуска php8.0-fpm
Mr Sparrow avatar
флаг ua
хорошо, я понял, но у меня несколько сайтов на сервере
флаг cc
Обычно в этом случае вы создаете пул для каждого сайта. Таким образом, у каждого может быть выделенная учетная запись пользователя, отдельная от других.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.