Domanda
Vorrei sapere come impostare un repository SVN con autenticazione LDAP. Non voglio usare Apache DAV però.
Soluzione
Esistono due opzioni:
- Esegui svnserve come server e autenticati utilizzando SASL . Configura SASL per l'autenticazione con LDAP .
- Accedi al repository tramite ssh. Crea account ssh per tutti gli utenti (forse automaticamente) e fai autenticarli con LDAP tramite PAM. Metti tutti gli utenti in un singolo gruppo e crea i file di repository di proprietà di quel gruppo.
Altri suggerimenti
Dato che mi ci è voluto un po 'di tempo per trovare i pezzi per farlo, volevo pubblicare come l'ho fatto su un server RHEL5:
-
installa CollabNet rpms ( client , server ed extra ).
-
esegui
/opt/CollabNet_Subversion/bin/Configure-CollabNet-Subversion
per configurare senza Apace e con svnserve. -
modifica il tuo
repo/conf/svnserve.conf
file per avere:[sasl] use-sasl=true
-
crea
/opt/CollabNet_Subversion/etc/saslauthd.conf
file con questi contenuti:ldap_servers: ldaps://... ldap_search_base: ... ldap_bind_dn: ... ldap_bind_pw: ... ldap_auth_method: bind ldap_timeout: 10
-
crea
/etc/opt/CollabNet_Subversion/sasl2/svn.conf
file con questi contenuti per l'uso con MS AD LDAP:pwcheck_method: saslauthd auxprop_plugin: ldap mech_list: PLAIN LOGIN ldapdb_mech: PLAIN LOGIN
-
copia
/etc/openldap/ldap.conf
in/etc/opt/CollabNet_Subversion/conf/openldap
e aggiungiTLS_REQCERT allow
. Ciò è necessario per il nostro server LDAP autofirmato -
esegui collabnet saslauthd
-
mkdir -p /var/state/saslauthd
- modifica
/etc/init.d/collabnet_subversion
per includere/opt/CollabNet_Subversion/sbin/saslauthd -a ldap
verso la fine dellastart()
funzione -
stop/start /etc/init.d/collabnet_subverison
-
nota: puoi usare /opt/CollabNet_Subversion/sbin/testsaslauthd -u <userid> -p <password>
per testare la connessione sasl su ldap
Un po 'coinvolto, ma per me, consente ai nostri clienti di connettersi a svn://
usando le loro password ldap.
Puoi usare scm-manager che ha un plugin ldap.