Назад | Перейти на главную страницу

Как избежать записи пароля в конфигурационный файл SVN?

Я настраиваю сервер SVN Collabnet (v1.5.6.1 для Solaris 10). Мне удалось использовать сервер ldap для аутентификации SVN. Как избежать записи незашифрованного пароля (XXXXX, здесь) в следующем файле конфигурации (collabnet_subversion_httpd.conf)?

ServerName mccuatsv10:8080
Listen 8080

User csvn

Group csvn

<Location /svn>
  DAV svn
  SetHandler svn
  SVNParentPath /appli/svn/repositories/
  AuthName "Subversion repository"
  AuthType Basic
  AuthBasicProvider ldap
  AuthzLDAPAuthoritative On
  AuthLDAPBindDN christian.desbordes@ibm.com
  AuthLDAPBindPassword XXXXX
  AuthLDAPURL ldap://eur.msd.world.ibm:389/OU=Users,OU=Accounts,OU=FR,DC=eur,DC=msd,DC=world,DC=socgen?sAM
AccountName?sub?(objectCategory=person)
  Require valid-user
</Location>

Один из вариантов - поставить AuthLDAPBindPassword строку в соответствующем файле chmodded отдельно и используйте Include в конфигурации apcahe, чтобы вытащить этот файл. т.е .:

<Location /svn>
   ...
   AuthLDAPBindDN christian.desbordes@ibm.com
   Include my_ldap_password.conf
   ...
</Location>

Это сохраняет пароль в безопасности, а остальную часть конфигурации остается читаемой.

некоторые серверы ldap допускают анонимную привязку. тогда [afaik] вам не нужно вводить пароль привязки.

Начиная с Apache 2.2.25 AuthLDAPBindPassword может выполнять команду для поиска пароля.

Самый простой вариант - иметь

AuthLDAPBindPassword "exec:/bin/cat /some/file/with/password"

Подробности в http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html#authldapbindpassword

Поскольку Apache2 запускается как root и читает файл конфигурации перед удалением root.

Предполагая, что ваша текущая конфигурация файла принадлежит пользователю root, а группа - root, например:

-rw-r--r-- 1 root root 1.4K 2014-10-15 14:43 vhostconf

Вы можете просто передать чтение / запись / выполнение из файла «другим пользователям»:

sudo chmod o-rwx /etc/apache2/sites-available/vhostconf

У вас должно получиться:

-rw-r----- 1 root root 1.4K 2014-10-15 14:43 vhostconf

Этого должно быть достаточно разрешений, чтобы Apache2 мог его прочитать.