У меня есть сервер Ubuntu 11.04 на ec2 (я упоминаю об этом, поскольку, похоже, в этой версии все изменилось по сравнению с предыдущими выпусками Ubuntu, когда речь идет о конфигурации LDAP).
Я хочу настроить его как сервер Subversion с trac для частных репозиториев (т.е. у пользователя должны быть имя пользователя: пароль и привилегии для просмотра или фиксации в svn, а также для просмотра или внесения изменений в trac).
Так как я хотел убедиться, что это безопасно, я сначала выбрал вариант svn + ssh, то есть мне нужно создать пользователя linux для каждого человека, которому нужен доступ к svn. Но я не смог найти способ использовать одних и тех же пользователей для trac - это означает, что мне придется вручную создавать пользователя в trac для каждого пользователя, которого я создаю на машине Linux, и это может привести к разному паролю между svn и trac - in Короче: беспорядок.
Поэтому я решил пойти и реализовать сервер openldap, который даст возможность использовать пользователей ldap для других функций в будущем.
Единственное руководство, которое я нашел, которое работало при настройке части openldap, было вот этот ("Гид").
тем не мение, когда я дошел до части Kerberos - у меня появилось несколько вопросов, на которые я не знал, как на них ответить, а затем у меня возникли ошибки, так что никаких Kerberos.
Сервер в конечном итоге будет чем-то вроде svn.myserver.com
. Однако для него еще нет записи DNS.
Принимая во внимание предыдущее замечание, я использовал svn.myserver.com
имя при настройке openldap, как сказано в гид выше (я не выполнял первые две части руководства, поэтому мне пришлось запустить sudo dpkg-reconfigure slapd
команда для перенастройки и использовала dc=svn,dc=myserver,dc=com
везде вместо dc=danbishop,dc=org
или svn.myserver.com
вместо того danbishop.org
).
В части kerberos гид, при запуске sudo apt-get install krb5-kdc krb5-admin-server
команда, меня спросили следующее:
SVN.MYSERVER.COM
localhost
localhost
Когда вопросы закончились, и он продолжил настраивать керберос, было несколько File or directory not found
ошибки, а an error has occured, see log
вид сообщения. Однако я не нашел ни одного файла журнала.
Возможно, есть лучший способ сделать это, и может быть другое решение для получения того, что я хочу (унифицированное управление пользователями для svn, trac и других будущих приложений), но поскольку предполагается, что функции svn и отслеживания ошибок переживут долгое время и не создавать никаких трудностей, для меня важно выбрать правильное решение и правильно его настроить (верных способов несколько, я уверен, но я не хочу выбирать паршивый путь).
я буду действительно ценю помощь с этим, так как я возился с этим уже несколько дней, чувствуя, что зря трачу время.
Я бы использовал аналогично-open, чтобы присоединиться к домену, настроить kerberos и добавить в dav_svn.conf использование
<Location /svn>
DAV svn
SVNParentPath /srv/svn
AuthzSVNAccessFile /etc/subversion/svn.conf
SVNPathAuthz off
Require valid-user
AuthName "Domain Login"
AuthType Kerberos
KrbMethodNegotiate off
KrbSaveCredentials off
KrbVerifyKDC off
в svn.conf добавьте пользователей, которым нужно иметь права на репозиторий. имейте в виду, введите имя домена в верхнем регистре, так как user1@DOMAIN.LOCAL kerberos хочет, чтобы это было так
Один совет для Kerberos: вы должны получить свой DNS прямо перед настройкой Kerberos, иначе вы можете столкнуться со всевозможными проблемами. Итак, сначала создайте соответствующие записи DNS и не продолжайте, пока это не будет сделано.
Тем не менее, я действительно не думаю, что Kerberos необходим в вашем случае. Это все еще заведомо сложная задача для правильной работы, и я не думаю, что результат того стоит. В первую очередь, это полезно для предоставления решения с единым входом, поэтому, если вы все сделаете правильно, вы войдете в свою (системную) учетную запись пользователя, и «волшебным образом» все керберизованные службы будут работать без входа в систему.
Итак, если вы сконфигурируете свою систему для аутентификации по LDAP через PAM и сделаете то же самое для Trac, все будет в порядке.