2008-12-02 53 views
20

我想知道如何設置一個SVN倉庫與LDAP認證。 雖然我不想使用Apache DAV。svnserve與LDAP

回答

12

有兩種選擇:

  1. svnserve作爲服務器,並使用SASL驗證。配置SASL to authenticate against LDAP
  2. 通過ssh訪問存儲庫。爲所有用戶創建ssh帳戶(可能是自動),並讓這些帳戶使用PAM進行LDAP驗證。將所有用戶放入一個組中,並創建該組所擁有的存儲庫文件。
+0

有關如何在Windows盒子上執行選項1的任何線索? – jpierson 2009-12-08 12:24:40

8

由於我花了一些時間才找到個要做到這一點,我想後我這究竟是怎麼一個RHEL5服務器上:

  1. 安裝的CollabNet的RPM(clientserver, and extras)。

  2. 運行/opt/CollabNet_Subversion/bin/Configure-CollabNet-Subversion配置沒有Apace和svnserve。

  3. 修改repo/conf/svnserve.conf文件有:

    [sasl] 
    use-sasl=true 
    
  4. 創建/opt/CollabNet_Subversion/etc/saslauthd.conf文件與這些內容:

    ldap_servers: ldaps://... 
    ldap_search_base: ... 
    ldap_bind_dn: ... 
    ldap_bind_pw: ... 
    ldap_auth_method: bind 
    ldap_timeout: 10 
    
  5. 創建/etc/opt/CollabNet_Subversion/sasl2/svn.conf文件,這些內容與MS AD LDAP使用:

    pwcheck_method: saslauthd 
    auxprop_plugin: ldap 
    mech_list: PLAIN LOGIN 
    ldapdb_mech: PLAIN LOGIN 
    
  6. 複製/etc/openldap/ldap.conf/etc/opt/CollabNet_Subversion/conf/openldap並添加TLS_REQCERT allow。這需要我們自簽名的LDAP服務器

  7. 運行的CollabNet saslauthd

    • mkdir -p /var/state/saslauthd
    • 編輯/etc/init.d/collabnet_subversion包括/opt/CollabNet_Subversion/sbin/saslauthd -a ldapstart()功能
    • stop/start /etc/init.d/collabnet_subverison
結束

注意:您可以使用/opt/CollabNet_Subversion/sbin/testsaslauthd -u <userid> -p <password>測試SASL連接到LDAP

有點麻煩,但對我來說,它可以讓我們的客戶通過使用他們的LDAP密碼連接到svn://