VisualSVN Сервер смена пароля - PullRequest
6 голосов
/ 04 декабря 2010

Кто-нибудь придумал, как позволить удаленным пользователям изменять свои пароли на сервере VisualSVN? Он работает в «автономном» (не ActiveDirectory) режиме, и единственным недостатком этого замечательного продукта является то, что пользователи не могут устанавливать или изменять свои пароли.

Это то, с чем я могу жить, но последствия для безопасности паролей, которые никогда не меняются, хорошо известны. Я уверен, что возможно добавить функциональность, но я нисколько не талантлив в любой из технологий, используемых VisualSVN - так что просто интересно, кто-нибудь это сделал?

ОБНОВЛЕНИЕ 2010-12-21

Я решил попытаться реализовать это сам. Первое препятствие, с которым я был бы признателен за некоторую помощь, - это шифрование пароля. Я обнаружил, что VisualSVN имеет файл паролей с именем htpasswd, в котором есть список пользователей в следующем формате:

JoePublic: $ apr1 $ LPQ $ kF8nZjjuFxgJBExK8ruf20

JoePublic - это имя пользователя, я предполагаю, что двоеточие - это разделитель, а остальное - это своего рода хэш пароля. Фактический пароль, использованный в этом случае, был ForgetMeNot.

Кажется, это не хеш MD5 или SHA, но я не очень мудрый в этой области, так что вполне может быть. Учитывая приведенную выше информацию, может ли кто-нибудь определить используемый алгоритм?

Ответы [ 3 ]

3 голосов
/ 20 февраля 2013

Вы не можете сбросить пароль пользователя через веб-интерфейс, однако WMI (Windows Management Инструментарий) Поставщик VisualSVN Server позволяет сбросить пароль. То есть вы можете получить доступ к VisualSVN Server через WMI, чтобы вы могли написать скрипт на различных языках программирования для управления сервером и автоматизации задач обслуживания.

См. Справочник по интерфейсу инструментария управления Windows .

К сожалению, поставщик WMI сервера VisualSVN не задокументирован, однако вы можете посмотреть файл MOF, в котором описаны доступные классы, методы и свойства. Вы также можете проверить Инструменты администрирования WMI , этот набор инструментов очень полезен, если вы хотите изучить инфраструктуру WMI.

Следующий скрипт PowerShell установит qwerty123 пароль для пользователя Subversion username на экземпляре сервера VisualSVN, расположенном на computer.contoso.com в вашей сети.

$svnuser = Get-WmiObject -Namespace Root\VisualSVN -ComputerName computer.contoso.com -query "select * from VisualSVN_User where name = 'username'"
$svnuser.SetPassword('qwerty123')

Обратите внимание, что этот скрипт является примером, и вам может потребоваться настроить команду для работы в вашей среде. Например. вам может потребоваться передать параметр -credential для успешной аутентификации. Убедитесь, что учетная запись пользователя, под которой вы проходите аутентификацию, имеет права администратора или, по крайней мере, является членом локальной группы администраторов сервера VisualSVN.

3 голосов
/ 05 декабря 2010

Если вам нужна эта функциональность, вам необходимо интегрироваться с Active Directory, что в любом случае является хорошей идеей, поэтому пользователям не нужно управлять несколькими отдельными паролями.

2 голосов
/ 21 декабря 2011

Пароль, используемый VisualSVN, имеет формат md5 с htpasswd. В основном, чтобы проверить, используйте это:

htpasswd -cm test.htpass JoePublic

и проверьте результаты.

...