Права доступа к каталогам / файлам для веб-страниц на веб-сервере Ubuntu

Я настраиваю на работе веб-сервер с Ubuntu 14.04 и apache. На нем размещены 3 веб-страницы (в будущем их может быть больше), которыми управляют разные разработчики. Меня беспокоит, как настроить общедоступные веб-каталоги и разрешения на содержимое. Разработчики являются подрядчиками, но веб-страницы принадлежат компании, поэтому они могут измениться, и я не хотел бы изменять все права доступа к файлам, когда это произойдет

На данный момент у меня есть следующая схема: Каждый разработчик входит в систему со своим личным идентификатором. Каждая веб-страница принадлежит идентификатору приложения (например, / var / www / app1 принадлежит app1user), для которого отключен вход по ssh. (чтобы держать подотчетность) Разработчики могут получить доступ к серверу с помощью ssh и загружать файлы с помощью sftp. Но затем они должны «sudo su - appXuser» и переместить файлы в каталог веб-страницы.

Разработчики утверждают, что они не могут напрямую загружать с помощью winscp в веб-приложение. Есть ли альтернативная, лучшая схема?

Извините, если это дубликат, я нашел похожие вопросы, но ничего похожего на этот.

0
задан 15 December 2015 в 16:13
2 ответа

Вы можете настроить сервер vsFTPd. Затем вы можете связать пользователей с несколькими папками и нескольких пользователей с одной и той же папкой. Таким образом, несколько разработчиков могут работать над одним приложением. Вы должны использовать не FTP, а sftp или ftps, так как это более безопасно.

Используя эту конфигурацию, пользователи могут загружать файлы непосредственно на сервер.

Другой вариант - использовать Git. Позвольте разработчикам передать свою работу Git, а затем вы обновите рабочий сайт через SSH. В этой ситуации разработчикам не нужно использовать FTP.

0
ответ дан 5 December 2019 в 11:16

Зависит от требований .

Для воспроизводимых развертываний вы можете ограничить правила sudo некоторым сценарием развертывания. Разработчик так или иначе инсценирует свои изменения. Кто бы ни выполнял развертывание, затем вызывает sudo -u app1user deploy. Сценарий передает файлы, обновляет базы данных, отправляет сообщения электронной почты людям, помечает что-либо в системе управления версиями, выполняет резервное копирование и т.д.

Или предоставляет доступ группам. app1grp может писать в app1, и в этой группе несколько пользователей. Затем вы можете разрешить прямую передачу scp отдельным пользователям. Лица, владеющие файлами, не имеют большого значения, если серверный процесс может их читать.

0
ответ дан 5 December 2019 в 11:16

Теги

Похожие вопросы