Я постараюсь объяснить, как я пытаюсь настроить эту систему.
Представьте себе рабочий сервер под управлением WHM с различными сайтами. Мы будем называть эти сайты ... site1, site2, site2
Теперь, с настройкой WHM, для каждого сайта определен пользователь / группа, для удобства пользователей / групп мы будем называть site1, site2.
Теперь обновление этих сайтов выполняется с помощью SVN и с помощью сценария пост-фиксации для автоматического обновления этих сайтов (когда .svn заблокирован в конфигурации apache).
Есть два постоянных сопровождающих этих сайтов, мы будем называть их Джо и Боб. Джо и Боб имеют доступ к серверу через командную строку через свои ограниченные учетные записи.
Итак, я выполнил простую задачу, сумев заставить SVN работать с этими «сопровождающими», чтобы при фиксации SVN изменения извлекались и прекрасно работали.
Вот кавет, и в конечном итоге моя проблема. Права пользователя.
Благодаря моему тестированию этой установки мне удалось заставить ее работать только предоставив разрешения для обновляемой версии 777, так что Джо и Боб могут и для чтения, и для записи доступ к каталогам веб-фронта для каждого из сайтов. 1015 *
Итак, пример того, как он настроен сейчас:
Джо и Боб оба принадлежат к группе под названием "Дев". У меня есть папки master / svn, настроенные как для чтения, так и для доступа к этой группе, и это прекрасно работает. Запускает фиксацию, обновляет сайт, а затем устанавливает 777 для каждого файла в веб-интерфейсе.
Затем я изменил это, чтобы попытаться учесть обновления разрешений группы, вместо прямой 777.
Каждая папка в / home / site1 / public_html изначально получает chmod 664, а каждая папка 775
Что выглядит примерно так
drwxrwxr-x .
drwxrwxr-x ..
drwxrwxr-x site1 site1 my_test_folder
-rw-rw-r-- site1 site1 my_test_file
Итак, site1 является владельцем и владельцем группы этих файлов и папок. Поэтому я добавил site1 во вторичные группы Джо и Бобса, чтобы обновление SVN правильно разрешало доступ к этим файлам.
В этом и заключается проблема.
Когда я хочу добавить файл или папку в / home / site1, скажем, Bobs_file, он выглядит следующим образом
drwxrwxr-x .
drwxrwxr-x ..
drwxr-xr-x Bob dev bobs_folder
drwxrwxr-x site1 site1 my_test_folder
-rw-rw-r-- Bob dev bobs_file
-rw-rw-r-- site1 site1 my_test_file
Как я могу получить его, чтобы с набором разрешений пользователей, которые есть у Боба, сменили владельца и владельца группы этого файла на «site1» «site1». Поскольку Боб принадлежит Dev, я могу правильно установить разрешения с помощью CHMOd, но, похоже, CHGRP отбрасывает ошибки при выполнении операции.
Теперь это было достаточно затянуто, чтобы дать представление о том, что именно я пытаюсь сделать, только в том случае, если я собираюсь разобраться с этой задницей, и есть гораздо более простое решение. Вот мои цели
- 2 человека для обновления
- указано несколько учетных записей пользователей, учитывая структуру WHM
- Попытка сохранить права главного пользователя / группы для файлов и папок для исходной учетной записи пользователя, а не для учетной записи обновления.
- Мне нравится безопасность SVN + SSH по сравнению только с SVN.
- Не хочу запускать все это через root.
Надеюсь, в этом есть смысл, и заранее спасибо :) 1051 *