Рейтинг:2

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

флаг cn

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

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

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

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

usermod -g apache имя пользователя
chmod 775 /var/www/html

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

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

Рейтинг:1
флаг no

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

  1. Добавить доступ для записи на /var/www/html пользователю, который входит в систему через WinSCP/SFTP. Это можно сделать несколькими способами.
    • Смена группы на работающего пользователя (и предоставление доступа на запись)
      sudo chgrp <пользователь> /var/www/html
      sudo chmod g+w -R /var/www/html
      
      Примечание. Это работает, потому что для пользователей всегда создается группа unix.
    • Создание новой группы unix, содержащей как apache, так и пользователя (и предоставление доступа для записи)
      sudo groupadd <имя группы>
      sudo chgrp <имя группы> /var/www/html
      sudo chmod g+w -R /var/www/html
      
  2. Запустите службу apache от имени пользователя, вошедшего в систему через WinSCP/SFTP. (соединять)
  3. Переместить корень документа Apache из /var/www/html (Просто создав символическую ссылку из /var/www/html в каталог, принадлежащий пользователю развертывания, или обновив конфигурацию apache)
Falstone avatar
флаг us
Я использую метод 1 в этом сценарии, который работает хорошо.
mahen3d avatar
флаг cn
@sreeraj, можете ли вы немного объяснить этот вариант no: 1 со скриншотами о том, как перейти в бегущую группу?
флаг no
@ mahen3d Добавлено больше подробностей, о которых вы упомянули.
Falstone avatar
флаг us
Я добавлю это как комментарий, а не как отдельный ответ, потому что я думаю, что Шрирадж заслуживает награды за свой довольно полный ответ. Вы выразили обеспокоенность по поводу безопасности. Таким образом, основываясь на пуле 1 ответа, вы можете отменить право собственности, чтобы дать вам немного больше безопасности. Предполагая, что вашего пользователя WinSCP зовут «fred» Во-первых: chown -R fred:apache /var/www/html Затем: chmod 750 /var/www/html Это ограничивает права доступа пользователя Apache. В каталоге, в который apache должен писать, может быть нечетный файл, но для него могут быть установлены разрешения для отдельных файлов.

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

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