SVN整合LDAP配置用戶與用戶組

SVN與LDAP整合一般藉助Apache,首先看看svn與Apache整合:Apache的HTTP服務器

最基本的配置如下:

<Location /repos>
   DAV svn
   SVNPath /var/www/svn/repos

   AuthType Basic
   AuthName "SVN Authorization Realm"
   
   #使用htpasswd產生的密碼文件
   AuthUserFile /var/www/svn/repos/conf/passwd
   AuthzSVNAccessFile /var/www/svn/repos/conf/authz
   
   #允許匿名讀取
   Satisfy Any
   Require valid-user
</Location>

OK,假設你已經理解了以上配置。

驗證模塊文檔:mod_auth_basic


在前幾篇文檔中,我們創建了Developer和Tester兩個group,現在我們配置成開發有讀寫權限,其他用戶有讀取權限,如下:

<Location /repos>
   DAV svn
   SVNPath /var/www/svn/repos
   
   AuthType Basic
   AuthName "SVN Authorization Realm"

   #以下爲LDAP服務配置
   AuthBasicProvider ldap
   #關閉權限繼承,這個自己查一下資料
   AuthzLDAPAuthoritative off
   #LDAP連接
   AuthLDAPURL "ldap://199.155.122.90:10389/ou=users,dc=taotaosou.com?cn?sub?(objectClass=person)"
   
   #綁定用戶,主要用於對LDAP進行讀取與匹配,如果允許匿名讀取LDAP數據則可不寫
   #AuthLDAPBindDN "ldap-reader"
   #綁定密碼      
   #AuthLDAPBindPassword "ldap-reader-pwd"

   #讀取權限要求必須是有效用戶,非匿名
   <Limit GET PROPFIND OPTIONS REPORT>
        require valid-user
   </Limit>
   #讀取權限以外的權限必須是開發組
   <LimitExcept GET PROPFIND OPTIONS REPORT>
        Require ldap-group cn=developer,ou=groups,dc=taotaosou.com
   </LimitExcept>
</Location>

以上就實現了開發人員的讀寫權限,其他人員的讀取權限,如果需要匿名讀取,則是以下配置:

<Location /repos>
   DAV svn
   SVNPath /var/www/svn/repos
   
   AuthType Basic
   AuthName "SVN Authorization Realm"

   #以下爲LDAP服務配置
   AuthBasicProvider ldap
   #關閉權限繼承,這個自己查一下資料
   AuthzLDAPAuthoritative off
   #LDAP連接
   AuthLDAPURL "ldap://199.155.122.90:10389/ou=users,dc=taotaosou.com?cn?sub?(objectClass=person)"
   
   #綁定用戶,主要用於對LDAP進行讀取與匹配,如果允許匿名讀取LDAP數據則可不寫
   #AuthLDAPBindDN "ldap-reader"
   #綁定密碼      
   #AuthLDAPBindPassword "ldap-reader-pwd"

   #讀取權限以外的權限必須是開發組
   <LimitExcept GET PROPFIND OPTIONS REPORT>
        Require ldap-group cn=developer,ou=groups,dc=taotaosou.com
   </LimitExcept>
</Location>

一些LDAP與Httpd整合的資料:mod_auth_ldap

Mod_core中的一些指令:Limit 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章