SVN commit do script bash SEM uma senha

0

Eu tenho um script bash que precisa verificar o resultado de um teste no SVN. O problema é que sempre que eu me comprometo com o svn, ele requer um nome de usuário e senha que eu realmente não quero incluir no meu script. Eu sou relativamente novo no Linux / Cygwin, então estou ciente de que pode haver algo óbvio ....

Estou usando o cygwin em uma caixa do windows 8

    
por Mizmor 13.11.2015 / 17:41

1 resposta

1

Não há nada de óbvio, por si só. Mas aqui estão algumas ideias:

  1. Quando eu tinha um script no trabalho que precisava de acesso ao svn, criei um novo nome de usuário apenas para o script e o script sabia como calcular a senha. É a segurança pela obscuridade, que não é segura, mas impediu que o observador casual determinasse a senha. (E como os colegas de trabalho que teriam acesso ao script também têm seus próprios logins de subversão, não é um risco de segurança.)

  2. Algo em que eu não tinha pensado quando criei meu script, mas poderia funcionar: se você puder restringir o acesso a um arquivo para que somente o usuário do cygwin e / ou windows tenha acesso de leitura a um arquivo de chave secreta , seu script pode usar o gpg com essa chave para criptografar / descriptografar um arquivo contendo a senha do scriptusername e usá-lo para acessar o svn. Eu não sei se isso é realmente mais seguro do que a primeira ou a segunda opção, porque você teria que ter a chave secreta sem uma senha (do contrário você está na situação idêntica à)

  3. Se você confia no comando svn para armazenar senhas, pode usar o scriptusername uma vez, armazená-lo e fazer com que o script acesse o svn dessa maneira.

Você pode querer ver se o link e / ou Qual é a melhor maneira de armazenar um svn criptografado senha no Ubuntu Server? pode ajudá-lo a armazenar a senha criptografada em vez de texto simples. No meu trabalho, o svn não foi compilado com suporte ao gnome-keyring ou kwallet, então eu não pude testá-lo para dar mais detalhes sobre como. Mas eu acho que o svn do cygwin os teria compilado, ou você poderia recompilar.

Eu acho que o svn --version irá dizer se o gnome-keyring ou o kwallet estão compilados; Caso contrário, você também pode 'ldd which svn ', que listará todas as bibliotecas vinculadas. Procure por algo como libsvn_auth_gnome_keyring-1.so ou presumivelmente similar para o kwallet. (obrigado link e link )

    
por 14.11.2015 / 04:31

Tags