我已经设置了一个SVN服务器,我想让用户能够更改自己的密码,但我不确定如何完成此操作。用户名和密码存储在我使用htpasswd创建的用户文件中。理想情况下,用户可以登录到服务器并运行命令htpasswd/svn/repos/users [username]更改密码。这种方法的(非常非常明显的)问题是,如果我使这个文件对所有人都可读和可写,他们就能够更改任何人的密码,甚至可以删除svn用户。有什么替代品?我对shell脚本的unix系统管理没有经验,所以如果这是一个总的问题,不好意思。允许用户更改SVN密码
3
A
回答
2
我认为你使用的是Apache。对?
您是否考虑过使用LDAP进行帐户管理? Apache非常好地与LDAP集成,Windows Domain帐户访问也可以由LDAP驱动。这意味着,您可以使用Windows帐户和密码登录到Subversion,并且可以使用Windows组来帮助控制访问。这是我的设置:
LoadModule dav_svn_module modules/mod_dav_svn.so
<Location /source>
DAV svn
SVNPath /opt/svn_repos
AuthType basic
AuthName "Subversion Repository"
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL "ldap://ldap.mycompany.com:3268/dc=mycompany,dc=com?sAMAccountName" NONE
AuthLDAPBindDN "CN=svnUser,OU=Users,OU=Accounts,DC=mycompany,DC=com"
AuthLDAPBindPassword "Swordfish"
Require ldap-group CN=Developer,CN=Groups,DC=mycompany,DC=com
</Location>
我曾经写过一个小小的PHP程序,允许用户更改他们的Subversion密码。我现在没有,但做起来并不难。你知道用户和htpasswd文件的位置。你所要做的就是让用户输入一个新的密码,对它进行加密,然后重写htpasswd文件。我使用了一个符号链接来使我的PHP程序可以看到htpasswd文件。
但是,我发现改变htpasswd可能不会影响,直到Apache重新启动后,并且当人们正在进行Subversion签出时,您不能简单地重新启动Apache。
+0
请你分享你的PHP程序? – Razavi
相关问题
- 1. ;允许用户更改密码?
- 2. 设计,允许用户更改密码
- 3. 允许TFS 210用户更改其密码
- 4. 如何允许用户在BrowserCMS中更改密码?
- 5. 允许XMPP用户根据韵律更改密码
- 6. 允许EPiServer用户更改或重置密码
- 7. 允许用户只更改自己的密码/详细信息
- 8. ASP.NET身份 - 允许在社交账户上更改密码?
- 9. Grails密码更改:只允许“新”密码
- 10. 允许密码
- 11. 允许用户没有密码?
- 12. git-svn密码更改
- 13. 允许用户更改CakePHP中
- 14. 允许用户更改其图片。 Django
- 15. 允许用户更改字体
- 16. 允许用户更改默认屏幕
- 17. 允许用户创建和更改表?
- 18. 允许用户更改div的文本
- 19. 允许用户更改角色
- 20. 允许用户更改地图类型
- 21. 允许用户更改自己的密码,电子邮件和个人
- 22. 如何防止用户登录,但允许更改他的密码?
- 23. 更改用户密码
- 24. Applescript:更改用户密码?
- 25. LDAP更改用户密码
- 26. Ektron用户更改密码?
- 27. 更改用户密码! Wordpress
- 28. 更改clearcase_albd用户密码
- 29. 设计允许用户使用密码和密码确认更改电子邮件
- 30. 存储用户名和密码,然后允许用户更新。蟒蛇
找到了一个类似的问题很好的答案:http://stackoverflow.com/questions/4736413/apache-htpasswd-secure-password-change –