Позволяя пользователям изменять свои пароли SVN

StackOverflow https://stackoverflow.com/questions/8345235

  •  27-10-2019
  •  | 
  •  

Вопрос

Я настроил сервер SVN, и я хочу позволить пользователям иметь возможность изменять свои собственные пароли, но я не уверен, как это сделать. Имена пользователей и пароли хранятся в файле пользователей, который я создал с помощью HTPASSWD. В идеале пользователь сможет войти на сервер и запустить команду htpasswd/svn/repos/users [username], чтобы изменить свой пароль. (Очень, очень очевидная) проблема с этим подходом заключается в том, что если я сделаю этот файл читаемым и доступным для записи для всех, они смогут изменить чей -либо пароль или даже удалить пользователей SVN. Какие альтернативы? Я не опыт работы с системным администрированием Unix Shell, так что извините, если это полный вопрос NOOB.

Это было полезно?

Решение

Я так понимаю, вы используете Apache. Верно?

Вы думали об использовании LDAP для администрирования счета? Apache довольно хорошо интегрируется с LDAP, и доступ к учетной записи Windows также может быть вызван LDAP. Это означает, что вы можете войти в подрывную деятельность, используя свою учетную запись Windows и пароль, и вы можете использовать группы 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, чтобы позволить пользователям изменить свой пароль подрывной деятельности. У меня его сейчас нет, но это не так сложно. Вы знаете пользователя и местоположение файла HTPASSWD. Все, что вам нужно сделать, это иметь тип пользователя в новом пароле, зашифровать его и переписать файл htpasswd. Я использовал символическую ссылку, чтобы сделать файл HTPASSWD видимым для моей программы PHP.

Тем не менее, я обнаружил, что изменение htpasswd может не повлиять до после перезапуска Apache, и вы не можете просто перезапустить Apache, когда люди выполняют проверку подрывной деятельности.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top