インターネットプロジェクトのLDAP。 パート3

最初の部分と2番目の部分では、OpenLDAPをインストールして構成し、サービスの承認の構成を開始できます。

本日、Apache HTTPDでmod_ldapおよびSVNを介して管理者の承認を設定する計画があります。



4.管理者の承認-Apache HTTPD mod_ldap



すでにapache2がインストールされていると考えており、authnz_ldapとmod_ldapを有効にするだけで済みます: a2enmod authnz_ldap





デバッグ時には、mod_ldapキャッシュを無効にすることをお勧めします。

echo "LDAPCacheEntries 0" >> /etc/apache2/mods-avalible/ldap.load





Apache構成を再起動します: /etc/init.d/apache2 reload





次に、vhost構成を変更するか、.htaccessファイルを作成します(動作が遅くなります)。

たとえば、次のように:

cat > /var/www/adminka/.htaccess << "EOF"

AuthName "restricted"

AuthType Basic

AuthBasicProvider ldap

AuthzLDAPAuthoritative on

AuthLDAPURL "ldap://ldap.habr.ru/ou=users,dc=habr,dc=ru"

AuthLDAPGroupAttribute uniqueMember

Require ldap-group cn=habr-adminka,ou=group,dc=habr,dc=ru

EOF







ldap-groupを必要とする場合は、連続して複数登録することができます-検証はそれぞれに対して順番に実行されます。



私たちが持っているユーザーはou = usersに保存されているため、cn = habr-adminkaグループが作成され、ユーザー(uniqueMember)が登録されていることを思い出してください。

たとえば、次のように:

dn: cn=habr-adminka,ou=group,dc=habr,dc=ru

cn: habr-adminka

objectClass: groupOfUniqueNames

objectClass: top

description: habr.ru/adminka

uniqueMember: uid=habradmin,ou=users,dc=habr,dc=ru

uniqueMember: uid=habradmin2,ou=users,dc=habr,dc=ru







mod_ldapログは、Apacheのログレベルをdebugに設定することで確認できます。



5. svnの承認

svnserveについての少し叙情的な余談:

ソースのサブバージョンとcyrus-sasl(ldapdbプラグイン)を選択した後に判明したように、ldapはほとんどサポートされていません-グループをチェックできず、フィルターがありません...一般に、すべてが悪いです。

同時に、オプション-a ldap -O /etc/saslauthd.confを使用したシステムsaslauthdは、グループを完全に承認します。

testsaslauthd -u user -p pass

0: OK "Success."








興味のある方は、作業用の構成/etc/saslauthd.conf:

cat > /etc/saslauthd.conf << "EOF"

ldap_servers: ldap://ldap.habr.ru

ldap_bind_dn: cn=auth,dc=habr,dc=ru

ldap_bind_pw: secret

ldap_cache_ttl: 0

ldap_scope: sub

ldap_search_base: ou=users,dc=habr,dc=ru

ldap_auth_method: bind

ldap_basedn: dc=habr,dc=ru

ldap_group_dn: cn=code,ou=svn,dc=habr,dc=ru

ldap_group_attr: uniqueMember

EOF









したがって、Apache httpdを介してsvnにアクセスする必要があります。

apt-get install libapache2-svn

リポジトリをapache configに追加します。 手順4で既に承認を検討しているため、新しいものはありません。

<Location "/habr">

DAV svn

SVNPath /var/svn/habr

AuthName "restricted"

AuthType Basic

AuthBasicProvider ldap

AuthzLDAPAuthoritative on

AuthLDAPURL "ldap://ldap.habr.ru/ou=users,dc=habr,dc=ru"

AuthLDAPGroupAttribute uniqueMember

Require ldap-group cn=habr,ou=svn,dc=habr,dc=ru









Apacheを再起動し、動作を確認します。



今日は以上です。見てくれてありがとう。



All Articles