У меня есть автономный сервер (Ubuntu 9.04), настроенный для проекта, который использует Trac (Apache, mod_python) и Subversion. Я создаю локальные учетные записи пользователей, поэтому участники проекта, которым предоставлен доступ к репозиторию для фиксации, используют ssh ...
sudo adduser --ingroup uomdev --force-badname JohnDoe
... и им проще оформить заказ ...
svn checkout svn+ssh://JohnDoe@uom.emcs.cornell.edu/usr/local/svn/uom
... и предоставил им идентичный аккаунт Trac ...
sudo htdigest /usr/local/trac/users.htdigest trac JohnDoe
... и я вручную синхронизирую пароли между двумя учетными записями (генерирую новый пароль, устанавливаю его для двух учетных записей, а затем отправляю его пользователю по электронной почте).
Это нормально, если пользователь забыл свой пароль, но не работает, если пользователь хочет изменить свой пароль самостоятельно. Они могут подключиться к серверу по ssh и запустить passwd, но это оставляет учетную запись Trac.
На хорошо написал:
В отличие от других систем отслеживания ошибок, которые просто имеют другую таблицу базы данных для хранения пользователей, Trac использовал подход, позволяющий пользователям использовать многочисленные модули аутентификации, доступные для их веб-сервера. Это означает, что многим пользователям не нужно будет управлять пользователями Trac вручную, поскольку они могут связать Trac с чем-то вроде LDAP, Active Directory или любой другой централизованной пользовательской системы, которая у них уже есть.
Я не заинтересован в установке / настройке LDAP или Active Directory только для того, чтобы они синхронизировались. Не уверен, что взлом AccountManagerPlugin поможет. Любые идеи?
Эта страница содержит информацию о том, как аутентифицироваться против пользователей Unix в Apache.
Джоэл, у меня такой же настрой, как и у тебя. Я настроил svn + ssh с использованием аутентификации по ключу, и все, что связано с браузером, хранит пароли в файле apache, который аналогичен / etc / passwd, trac, mail и другим вещам.
Я сделал простой веб-интерфейс, в котором пользователь может изменить свой пароль, который затем будет обновляться в любом месте, а также некоторые дополнительные параметры.
Есть еще один вариант - ваш собственный bash-скрипт, который пользователи будут выполнять так же, как passwd. Фактически, вы можете изменить это имя сценария bash так, чтобы оно обернулось вокруг passwd. Для меня это должно быть еще более приятным решением, но большинство людей в моей организации не привыкли к командной строке, поэтому браузер - лучшее решение.