サーバーSVNCollabnet(Solaris 10の場合はv1.5.6.1)を構成しています。 SVN認証にLDAPサーバーを使用することに成功しました。次の構成ファイル(collabnet_Subversion_httpd.conf)に暗号化されていないパスワード(XXXXX、ここ)を書き込まないようにするにはどうすればよいですか?
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 [email protected]
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>
1つのオプションは、適切に変更されたファイルにAuthLDAPBindPassword
行を単独で配置し、apcahe構成でInclude
を使用して、そのファイルをプルインすることです。
<Location /svn>
...
AuthLDAPBindDN [email protected]
Include my_ldap_password.conf
...
</Location>
これにより、パスワードが安全に保たれ、残りの構成は読み取り可能になります。
一部のLDAPサーバーでは、匿名バインディングが許可されています。次に[afaik]バインドパスワードを入力する必要はありません。
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がそれを読み取るのに十分な権限である必要があります。
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 の詳細