Я не уверен, что лучше: синхронизировать пользователей и пароли Subversion с пользователями и паролями linux или просто заставить Linux каким-то образом предоставлять службу аутентификации Subversion.
Я бы предпочел поддерживать только пользователей Linux, так как мне легко добавлять и удалять пользователей в Ubuntu. Я хочу дать команду «sudo adduser developer» и «developer» немедленно получить доступ к репозиториям Subversion.
На данный момент я должен сначала создать пользователя linux, а затем создать пользователя subversion со следующим:
sudo htpasswd -m / var / lib / svn / mainrepo / conf / htpasswd разработчик
Есть ли способ лучше?
Есть апач auth_pam_module что вы можете использовать. Обязательно включите https для своего репозитория, если хотите это сделать. Следующий сайт проведет вас через это:
http://blog.eval.ca/2007/01/04/pam-authentication-for-apache-trac-and-svn/
Мне особенно нравится пример для групп:
<Location "/svn/repository">
AuthPAM_Enabled On
AuthType Basic
AuthName "My Repository"
Require group developers
</Location>
Таким образом, вам нужно обновить apache только один раз, и вместо этого вы можете добавить своих новых пользователей в группу разработчиков.
Я бы предостерегал вас от этого ... Subversion кэширует учетные данные в системах UNIX в $HOME/.subversion/servers
каталог - в системах без gnome-keyring он не зашифрован (хотя и защищен правами пользователя только на чтение).
Любой человек с разумным уровнем знаний системы сможет обойти этот уровень защиты и, следовательно, будет иметь пароль учетной записи пользователя и сможет делать что угодно в качестве этого пользователя. Если у пользователя есть sudo
доступ они потенциально могут повысить свой доступ к root
пользователь.
К вашему сведению, я вижу эту тему: Как использовать имя пользователя и пароль Linux с Subversion?
Он использует аутентификацию PAM для учетных записей SVN.
Вы заинтересованы в реализации этого через apache в качестве предыдущей ссылки или в прямом способе использования клиента SVN из командной строки?
Вы можете просто использовать аутентификацию apache и аутентифицировать THAT с помощью вашей централизованной схемы аутентификации:
http://blogs.open.collab.net/svn/2007/03/subversion_ldap.html