Change VisualSVN Server Password

Has anyone come up with a way to allow remote users to change their own passwords on the VisualSVN server? We work offline (non-ActiveDirectory), and the only downside I have found for this excellent product is that users cannot set or change their passwords.

This is something I can live with, but the security implications of passwords that never change are well known. I’m sure it’s possible to add functionality, but I'm not at all talented in any of the technologies used by VisualSVN - it's just so interesting, did anyone do it?

UPDATE 2010-12-21

I decided to use bash when implementing this. The first hurdle with which I would appreciate help is password encryption. I found that VisualSVN has a password file called htpasswd that has a list of users in the following format:

JoePublic: $ apr1 $ LPQ $ kF8nZjjuFxgJBExK8ruf20

JoePublic is the username, I assume the colon is a separator, and the rest is a kind of hash password. The actual password used in this case was ForgetMeNot .

This does not look like an MD5 or SHA hash file, but I'm not very wise in this area, so it may well be. Given the above information, can anyone infer the algorithm used?

+6
svn passwords user-management visualsvn-server authz
source share
3 answers

If you need this functionality, you need to integrate with Active Directory, which is really a good idea, so users do not need to manage several separate passwords.

+3
source share

The reset user password cannot be used through the web interface, but the WMI (Windows Management Instrumentation) provider of VisualSVN Server allows you to reset the password. That is, you can access VisualSVN Server through WMI so that you can write a script in different programming languages ​​to manage the server and automate maintenance tasks.

See Link to Windows Management Instrumentation Interface .

Unfortunately, the WMI provider of VisualSVN Server is not documented, but you can see the MOF file that describes the available classes, methods, and properties. You can also check out WMI Administrative Tools , this toolkit is very useful if you want to explore the WMI infrastructure.

The following PowerShell script will set the qwerty123 password for the Subversion username user on the VisualSVN Server instance located at computer.contoso.com on your network.

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

Please note that this script is a sample, and you may need to configure the command to work in your environment. For example. You may need to pass the "-Medium" parameter for successful authentication. Verify that the user account that is being authenticated is an administrator, or at least a member of the VisualSVN Server local administrators group.

+3
source share

The password used by VisualSVN is in md5 format with htpasswd . Basically, to check, use this:

 htpasswd -cm test.htpass JoePublic 

and check the results.

+1
source share

All Articles