Помогите с разрешениями SVN + SSH в настройке CentOS / WHM - PullRequest
1 голос
/ 16 марта 2010

Я постараюсь объяснить, как я пытаюсь настроить эту систему.

Представьте себе рабочий сервер под управлением 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 *

1 Ответ

0 голосов
/ 16 марта 2010

Попробуйте:

$ chown -R site1:site1 /home/site1

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

...