Как правильно настроить разрешения сервера SVN?

Я использую Debian 7 и установлен Subversion.

Я не могу понять, какие разрешения и владельцы устанавливать в хранилищах, когда я их создаю.

  • Не удалось использовать ssh-copy-id - mktemp: не удалось создать файл через шаблон
  • Как разблокировать учетную запись для авторизации ssh с открытым ключом, но не для авторизации пароля?
  • Я не могу успешно сгенерировать SSH-туннель внутри контейнера докеров
  • Запуск разницы между локальными и удаленными файлами
  • parallel-ssh с защищенным ключом SSH с защитой паролем
  • что это означает по адресу электронной почты в качестве метки генерирования лобковой / частной пары ключей rsa?
  • Я хочу иметь 2 типа репозиториев:

    1) svn/private/* – только один указанный пользователь может читать и писать

    2) svn/public/* – только указанная группа пользователей может читать и писать здесь

    * означает множественные репозитории там

    Я хочу, чтобы все пользователи были взяты из системы Linux, а не в файле passwd или что-то в этом роде. Итак, как я могу правильно установить разрешения репозиториев (говоря о разрешениях linux), чтобы достичь этого?

    Также для публичных репозиториев должно быть возможно, чтобы авторизованные пользователи могли совершить сделку, а это не нарушило репозиции (потому что раньше у меня была такая проблема).

    Речь идет только о svn + ssh.

    Я прочитал много учебников в Интернете, но ни один из них не имеет того, что мне нужно.

    Вы можете мне помочь?

  • ssh туннель на ssh-туннеле между Windows и двумя Linux-машинами
  • Не удается подключиться с помощью SSH: UseDNS завершение
  • Настройка открытого ключа SSH для входа без пароля
  • SSH Login не работает с помощью клавиши Без пароля?
  • Ошибка: QOpenGLShader: не удалось создать шейдер - при запуске через ssh
  • выполнить удаленную команду sqlite
  • One Solution collect form web for “Как правильно настроить разрешения сервера SVN?”

    Использование svn + ssh для подключения к репозиторию subversion просто использует стандартные разрешения файлов unix для файлов в репозитории, поскольку пользователь, фактически, подключается к удаленному серверу через ssh и просто запускает команду svn локально на указанном сервере.

    Если пользователь x имеет права на чтение / запись для этого файла, пользователь x может вносить изменения в этот репозиторий. Если пользователь y НЕ имеет разрешения на чтение / запись в эти файлы, пользователь не может фиксировать изменения или, если у них нет доступа для чтения, даже просмотрите (проверьте) содержимое репозитория.

    В простейшем режиме используйте chown и chmod, чтобы установить права собственности и разрешения для репозитория для каждого пользователя:

     $chown user:group /wherever/svn/private $chmod 770 /wherever/svn/private 

    и так далее.

    Для более сложных разрешений необходимо использовать svn через http-сервер и использовать элементы управления доступом для http-сервера для доступа к определенным путям в репозитории.

    ПРИМЕЧАНИЕ. Если пользователь имеет доступ для чтения / записи к определенному репозиторию, он может повредить его. Итак, пока вы используете svn + ssh, вы предоставляете значительный доступ этим пользователям. Теперь даже в более ограниченных ситуациях, если пользователь может совершать изменения в репо, они могут нанести ущерб … хотя обычно этот урон можно отбросить.

    Дайте мне минуту, и я свяжусь с соответствующей главой в документации SVN.

    Вот раздел по конфигурации svn + ssh

    Вот раздел конфигурации HTTP

    Вывод из книги состоит в том, что svn + ssh является простым и безопасным, но ограниченным, а http намного более способным, но более сложным. Я в значительной степени просто использую метод HTTP, чтобы обеспечить доступ только для чтения только тем, кого хочу, и все остальные получают доступ через svn + ssh, и я строго ограничиваю, кто эти люди и много резервирует. Насколько я помню, я даже не пробовал метод svnserve.

    Linux и Unix - лучшая ОС в мире.