Centos - Развертывание веб-приложения - Каков наилучший способ использования учетной записи пользователя, отличной от Apache, с SFTP/WinSCP

Centos - Развертывание веб-приложения - Каков наилучший способ использования учетной записи пользователя, отличной от Apache, с SFTP/WinSCP

У меня есть простой вопрос, однако я пытаюсь понять, как это сделать безопасным способом,

У меня есть веб-приложение на основе PHP, работающее на Linux (Centos7), у меня есть доступ «пользователя» с привилегиями Sudo на сервере Linux.

Веб-сервер (Apache) работает как пользователь «apache» с группой «apache»,

Проблема в том, что когда я пытаюсь развернуть приложения с помощью WinSCP, я получаю ошибки об отказе в доступе. ЕДИНСТВЕННЫЙ способ решить эту проблему — сделать

usermod -g apache myusername
chmod 775 /var/www/html

Я не хочу давать 775 всей веб-папке.Я думаю, что это большая проблема безопасности. Какой самый безопасный способ архивации такого типа задач?

Как мне развернуть свое приложение с помощью Winscp, используя мою учетную запись пользователя, но как пользователь Apache? Или есть ли какие-либо другие предложения по общепринятой отраслевой практике, которая считается безопасной?

решение1

Существует несколько рекомендуемых способов решения этой проблемы.

  1. Добавить доступ на запись /var/www/htmlпользователю, который входит через WinSCP/SFTP. Это можно сделать несколькими способами.
    • Изменение группы на работающего пользователя (и предоставление прав на запись)
      sudo chgrp <user> /var/www/html
      sudo chmod g+w -R /var/www/html
      
      Примечание: это работает, поскольку для пользователей всегда создается группа Unix.
    • Создание новой группы unix, содержащей как apache, так и пользователя (и предоставление прав на запись)
      sudo groupadd <groupname>
      sudo chgrp <groupname> /var/www/html
      sudo chmod g+w -R /var/www/html
      
  2. Запустите службу Apache, войдя в систему через WinSCP/SFTP.связь)
  3. Переместите корневой каталог документов Apache из /var/www/html(просто создав символическую ссылку из /var/www/html на каталог, принадлежащий пользователю развертывания, или обновив конфигурацию Apache)

Связанный контент