Sinopse
Os trabalhos necessários para instalar o svn com suporte de chaveiro e instalar o
O aplicativo keyring_tool da Collabnet já foi executado para nossos servidores Linux.
1) Configure o cliente SVN para usar o chaveiro:
1.1) Edite ~ / .subversion / config
[auth]
password-stores = gnome-keyring
1.2) Edite ~ / .subversion / servers
[global]
store-passwords = yes
store-plaintext-passwords = no
2) Crie um chaveiro para sua senha. Você será solicitado a criar uma nova senha para desbloquear o chaveiro; isso pode ser o que você quiser:
keyring_tool --create=svn
3) Defina o novo chaveiro como padrão:
keyring_tool --setdef=svn
4) Em .bash_profile ou .bash_login (assumindo que você está usando o bash como seu terminal)
if [ -e /usr/bin/gnome-keyring-daemon ]; then
if [ ! -z "'kill -0 $GNOME_KEYRING_PID 2>&1'" ]; then
# Create dbus transport link for SVN to talk to the keyring.
eval 'dbus-launch --sh-syntax'
# Start the keyring daemon.
# The use of export here captures the GNOME_KEYRING_PID, GNOME_KEYRING_SOCK
# env values echoed out at startup.
export '/usr/bin/gnome-keyring-daemon'
fi
fi
5) Em .bash_logout
# Kill the message bus established for SVN / Keyring communication
if [ ! -z "'kill -0 $DBUS_SESSION_BUS_PID 2>&1'" ]; then
kill $DBUS_SESSION_BUS_PID > /dev/null 2>&1
fi
# Kill the Gnome Keyring Daemon prior to logout.
if [ ! -z "'kill -0 $GNOME_KEYRING_PID 2>&1'" ]; then
kill $GNOME_KEYRING_PID > /dev/null 2>&1
fi
Antecedentes
Eu tive um problema semelhante ao tentar estabelecer uma maneira livre de problemas para garantir o acesso de usuários autorizados a determinados repositórios de SVN no trabalho. Basicamente, nós tivemos que forçar a verificação de credenciais toda vez que um usuário acessa o servidor, assim, mesmo o comando svn update exigiria autenticação. O armazenamento de senhas de texto simples estava fora, então com um pouco de pesquisa eu encontrei o gnome-keyring como uma forma de assediar nossa base de usuários com constantes solicitações de autenticação enquanto ainda mantinha usuários não autorizados fora dos repositórios que eles não deveriam ter acesso. p>
Grande parte do nosso trabalho diário é feito através de túneis ssh em um servidor RedHat sem suporte X, então eu tive que encontrar uma maneira de contornar o suporte ao X11. Depois de algumas pesquisas, consegui encontrar o caminho por aqui:
Material de origem
link
A chave aqui é usar o Collabnet keyring_tool para criar um chaveiro sem o cliente gnome-keyring-manager e estabelecer o dbus-launch você mesmo, em vez de permitir que o SVN cuide da configuração. O SVN usa o DBUS para se conectar ao daemon do anel de chaves-gnome e afetar a autenticação geral. Ao iniciar manualmente e derrubar a sessão do dbus com a sintaxe -sh, você evita tentar conectar-se a um cliente X na inicialização do dbus. Se você acabou de iniciar o gnome-keyring-daemon e tentar usar o SVN, ele ainda solicitará a senha do seu chaveiro, mas também solicitará suas credenciais do SVN. O dbus falhará quando o SVN tentar iniciá-lo devido à falta de um cliente X; aparentemente o SVN não usa nenhum sinalizador especial ao iniciar o dbus.