Назад | Перейти на главную страницу

Разрешения на каталог / файл для веб-страниц на веб-сервере Ubuntu

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

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

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

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

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

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

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

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

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

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