Subversion + LDAP

Fonte: TecPorto
Revisão em 15h03min de 6 de junho de 2018 por João (discussão | contribs) (Criou a página com "A integração de autenticação LDAP para acesso a repositórios Subversion está dependente do uso de SASL. Este manual destina-se a instalações não baseadas no protoc...")
(dif) ← Revisão anterior | Revisão atual (dif) | Revisão seguinte → (dif)
Saltar para a navegação Saltar para a pesquisa

A integração de autenticação LDAP para acesso a repositórios Subversion está dependente do uso de SASL.

Este manual destina-se a instalações não baseadas no protocolo svn:// puro (sem ser por SSH ou por WebDAV).

Como os caminhos podem variar e há inconsistências mesmo na mesma distribuição, há recomendações de certas ligações simbólicas que convém criar-se. De notar que, pelo menos em distribuições baseadas em Ubuntu, o svnserve não tem configurações base para uso com o systemd ou qualquer outro serviço de init alternativo. Assim sendo, também se apresenta aqui a listagem dos ficheiros necessários para que o svnserve possa ser adicionado ao arranque.

Excepto se indicado em contrário, estes comandos devem ser executados como root ou com o sudo.

/etc/systemd/system/svnserve.service:

[Unit]
Description=Subversion protocol daemon
After=syslog.target network.target

[Service]
Type=forking
RuntimeDirectory=svnserve
PIDFile=/run/svnserve/svnserve.pid
EnvironmentFile=/safe/etc/default/svnserve
ExecStart=/usr/bin/svnserve $DAEMON_ARGS
User=svn
Group=svn
KillMode=control-group
Restart=on-failure

[Install]
WantedBy=multi-user.target
Alias=svnserve.service


Na configuração padrão do serviço svnserve, deverá preencher a variável SVNROOT com o valor correcto. Poderá também alterar o caminho que se segue a "--log-file" para outro destino que lhe seja mais conveniente.

/etc/default/svnserve.conf:

SVNROOT="<caminho base dos seus repositórios>"
DAEMON_ARGS="--daemon --pid-file /run/svnserve/svnserve.pid --root $SVNROOT --log-file /var/log/svnserve/svnserve.log"


/usr/lib/sasl2/svn.conf:

pwcheck_method: saslauthd
mech_list: LDAP

Recomendamos que crie um link simbólico da pasta /usr/lib/sasl2 em /etc:

ln -s /usr/lib/sasl2 /etc

É preferível, também, ter um utilizador e um grupo "svn" no sistema, devendo substituir, nos comandos abaixo, os dados conforme necessário:

groupadd -r svn
useradd -r -d <caminho base dos seus repositórios> -g svn svn
mkdir <caminho base dos seus repositórios>
chown -R svn:svn <caminho base dos seus repositórios>
chmod 700 <caminho base dos seus repositórios>

Em algumas distribuições, há problemas de permissões que vão impedir o svnserve de correctamente contactar o serviço sasl, pelo que essas permissões devem ser corrigidas:

chmod 711 /var/run/saslauthd