SVN 서버를 설정했고 사용자가 자신의 암호를 변경할 수있게하고 싶지만이를 수행하는 방법을 모르겠습니다. 사용자 이름과 암호는 htpasswd를 사용하여 작성한 사용자 파일에 저장됩니다. 이상적으로, 사용자는 서버에 로그인하여 htpasswd/svn/repos/users [username] 명령을 실행하여 암호를 변경할 수 있습니다. 이 접근법의 (아주, 아주 명백한) 문제는 만약 내가 그 파일을 모든 사람들에게 읽기 쉽고 쓰기 가능하게한다면 그들은 누군가의 암호를 바꾸거나 심지어 svn 사용자를 삭제할 수 있다는 것이다. 몇 가지 대안은 무엇입니까? 나는 셸 스크립팅의 유닉스 시스템 관리에 경험이 없기 때문에 이것이 정말로 멍청한 질문이라면 실례합니다.사용자가 SVN 암호를 변경할 수 있도록 허용
3
A
답변
2
나는 아파치를 사용하고있다. 권리?
계정 관리를 위해 LDAP을 사용해 보셨습니까? Apache는 LDAP와 잘 통합되며 Windows 도메인 계정 액세스는 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를 변경하면 아파치가 다시 시작될 때까지 영향을 미치지 않을 것이고 사람들이 Subversion 체크 아웃을 할 때 단순히 아파치를 재시작 할 수 없다는 것을 알게되었습니다.
+0
PHP 프로그램을 공유해 주시겠습니까? – Razavi
비슷한 질문에 대한 좋은 답변을 찾았습니다. http://stackoverflow.com/questions/4736413/apache-htpasswd-secure-password-change –