Contribute/Get a SVN Account (pt BR)

From KDE TechBase

Este tutorial explica como se inscrever para uma conta SVN para o KDE.

Notações

  • A palavra SVN se aplica a todos os servidores SVN.
  • A frase KDE SVN se refere apenas ao servidor SVN do KDE.
  • A frase SVN anônimo se refere aos mirrors de SVN anônimo do KDE.

O que é KDE SVN?

Para ter acesso de escrita ao KDE SVN, você precisa utilizar o servidor SVN principal do KDE. O SVN anônimo utiliza mirrors desse servidor. O SVN não permite que você leia de um servidor e escreva em outro.

Para utilizar o servidor SVN principal do KDE, você precisa de uma conta nele. Uma conta consiste de um nome de usuário (geralmente seu sobrenome), uma senha e um endereço de email. O nome de usuário serve para se conectar, a senha para se autenticar e o endereço de e-mail para saber quem contatar se outro desenvolvedor deseja entrar em contato com o dono da conta. O nome de usuário também é conhecido como login.

Nota: Você pode ver as contas atuais em kde-common/accounts. Trata-se de uma lista de todas as contas de acesso. Sim, a lista de contas é pública e pode ser vista, por exemplo, no WebSVN.

Para acessar o servidor SVN principal do KDE, você tem duas opções, com maneiras diferentes de encriptar os dados transmitidos:

  • Usar HTTPS
  • Usar SSH

Se você nunca usou ssh antes, você pode preferir usar HTTPS, que é um pouco mais fácil de configurar.

Entretanto, atualmente parece que svn-com-ssh é realmente bem mais rápido que svn-com-https, o que é uma boa razão para usar ssh.

A senha de que você precisará depende da opção acima:

  • Uma senha normal para acessar por HTTPS, ou
  • Uma chave pública SSH para acessar por SSH

Uma conta no SVN do KDE permite que você escreva em quase todos os lugares do KDE SVN, com algumas exceções:

  • As configurações internas do KDE SVN
  • O diretório admin
  • O módulo www (exceções podem ser criadas para este)

Quem pode se inscrever para uma conta no KDE SVN?

Normalmente, qualquer desenvolvedor que tenha feito algum trabalho no KDE pode se inscrever para uma conta no KDE SVN.

Tradutores devem receber aprovação do líder do time para que se possa organizar a maneira como o time trabalha. Por favor, mencione a aprovação do líder do time ao requisitar a conta.

Por favor, leia também as políticas de commit ao KDE SVN. Você deve aceitar as regras listadas ao usar sua futura conta no KDE SVN.

Além disso, por favor inscreva-se para uma conta somente se você for trabalhar no KDE por um período minimamente prolongado. Se você sabe que vai trabalhar somente por algumas semanas e depois nunca mais fará isso, considere não se inscrever para uma conta, mas continue enviando patches.

As limitações não foram criadas para excluir ninguém - elas servem para que a manutenção das contas permaneça possível.

E, claro: os [mailto:[email protected] sysadmins do KDE têm a última palavra sobre criar ou não uma conta para alguém.

Escolhendo uma senha

Esta seção assume que você deseja ter acesso via HTTPS (sem SSH). Se este não for o caso, pule esta seção.

Primeiro você deve escolher uma senha. Se possível, escolha uma que você não usa para mais nada no seu computador (já que a conta SVN não tem nada a ver com nenhuma outra conta no seu computador).

De todo modo, tenha as seguintes precauções comuns sobre senhas.

Senhas fortes:

  • Têm letras maiúsculas e minúsculas.
  • Têm dígitos e/ou pontuação além de letras.
  • São fáceis de lembrar, para que não precisem ser escritas.
  • Têm pelo menos oito caracteres.

Uma senha forte não é:

  • Nenhuma informação pessoal, como seu nome, telefone, data de nascimento ou endereço. Mesmo nomes de conhecidos e afins não devem ser usados.
  • Nenhuma palavra do dicionário, ou baseada muito fortemente em uma (como, por exemplo, uma palavra escrita ao contrário).
  • Uma palavra com letras simplesmente substituídas por dígitos. Por exemplo, bl0wf1sh não é uma boa senha.
  • Fácil de enxergar enquanto você digita. Senhas como 12345, qwerty (em que todas os caracteres estão perto uns dos outros no teclado) ou nnnnn devem ser evitadas.

Todas essas regras não servem para perturbar, mas para garantir um nível mínimo de segurança para o servidor SVN do KDE.

Encriptando a senha

Esta seção assume que você deseja ter acesso via HTTPS (sem SSH). Se este não for o caso, pule esta seção.

Agora que você tem sua senha, você precisa encriptá-la para não a enviar sem proteção. (Nota: este método de encriptação é o mesmo usado por muitas distribuições Linux para seu /etc/shadow.)

Se a sua senha tem 8 caracteres, uma maneira de encriptá-la seria usar Perl:

perl -e 'print crypt("<sua senha>","\$1\$xyz\$")."\n";'

onde <sua senha> deve ser substituído pela sua senha e xyz com 3 a 8 caracteres aleatórios de sua escolha. Deixe o \$1\$ antes dele e o \$ depois.

Dica: o $ deve ser "escapado" com uma barra invertida. Por exemplo: se sua senha é "abc$123" você precisa substituir <sua senha> por "abc\$123".

Nota: não se preocupe ao encontrar sua escolha de <xyz> no começo da senha encriptada, é assim mesmo.

Outra solução é criar uma conta "dummy" em um sistema Unix onde você tem acesso como administrador. Você pode usar os programas padrão de gerenciamento de usuários da sua distribuição e procurar pela conta no seu arquivo /etc/shadow ou digitar o seguinte código:

useradd dummy; passwd dummy; grep dummy /etc/passwd /etc/shadow; userdel dummy

De qualquer modo, a senha é a parte entre o primeiro e o segundo ':'. Nota: não é o asterisco (*)! Ele significa que aquilo não é a senha!

Nota: Este último método pode não funcionar mais com sistemas mais novos porque eles encriptam a senha com um algoritmo que (ainda) não é reconhecido pelo servidor KDE. Para ter certeza, use o script Perl.

Salve a senha encriptada para que você possa usá-la depois na inscrição.

Obtendo as chaves SSH

Esta seção assume que você deseja utilizar acesso via SSH (e não HTTPS). Se este não for o caso, pule esta seção.

Por favor procure a documentação do SSH ou um livro para ver como criar um par de chaves SSH, a maneira mais curta é

ssh-keygen -t dsa

. O '-t dsa' indica que as chaves criadas serão do tipo 'dsa'. Chaves dsa e rsa são usadas na versão 2 do protocolo SSH, enquanto somente chaves rsa são usadas na versão 1. Veja a documentação do SSH para mais informações. Aceite o nome de arquivo padrão e também o padrão de nenhuma senha.

Você precisa de uma chave pública SSH. Não envie uma chave GPG (OpenPGP), ela não tem nada a ver!

A senha no caso desta documentação é a chave pública que você está criando. Ela pode ser encontrada geralmente em $HOME/.ssh/id_dsa.pub.

Não envie a chave privada em $HOME/.ssh/id_dsa, ela deve permanecer secreta.

Você também deve configurar o ssh-agent para que não tenha que digitar a senha sempre que for utilizar o ssh. Há vários tutoriais disponíveis explicando como fazer isso, como, por exemplo, este.

Nota: se você já tem uma chave ssh, você pode usá-la em vez de criar uma nova.

Tip
Se você deseja usar o SVN com SSH com outro usuário que não criou as chaves, você precisa copiar $HOME/.ssh/id_dsa.pub e $HOME/.ssh/id_dsa para o diretório $HOME/.ssh do outro usuário. Você deve fazer um backup desses arquivos.


Configurando o protocolo SVN+SSH

Uma vez criada sua chave, você terá que dizer ao SSH que ela deve ser utilizada para todas as conexções com os sites do KDE. Adicione as seguintes linhas ao arquivo ~/.ssh/config. Substitua NOMEDEUSUARIO com o seu nome de usuário.

Host *.kde.org
        User NOMEDEUSUARIO
        IdentityFile ~/.ssh/id_dsa

O arquivo mencionado em IdentityFile deve pertencer à chave pública que você enviou ao se inscrever para a conta SVN. Mas não é a chave pública (*.pub).

Inscreva-se para uma conta

Agora que você tem uma senha, você precisa de um nome de usuário para a sua conta no KDE SVN. Geralmente seu sobrenome é usado. Vamos chamá-lo de username neste exemplo.

Você pode propor algo diferente se você quiser. Mas tenha cuidado, pois, um dia, você pode pedir um endereço de email do KDE e seu nome de usuário será a base para esse endereço. Por exemplo: [email protected]. Note, entretanto, que endereços de email do KDE não são mais distribuídos tão facilmente, pois muitas pessoas reclamaram e se comportaram mal com um endereço do KDE e outras pessoas pensaram que essa era uma posição oficial do Time do KDE. Enquanto isso, o KDE Mail foi criado se você precisar de um endereço permanente.

Agora você tem um usuário e uma senha. Quanto ao endereço de email: você deve usar seu próprio email (seja um endereço normal ou um endereço do KDE Mail). Claro, não se esqueça de que esse endereço de email se torna público (pelo menos pelo WebSVN), então infelizmente você receberá spam.

Note também que esse endereço de email deve ser o mesmo usado no bugs.kde.org. Se você não tem uma conta lá, por favor crie uma para que ela receba os privilégios comuns de desenvolvedor. Fechar bug reports nos comentários dos commits funciona somente se o endereços de email da sua conta SVN e do bugs.kde.org forem o mesmo.

Agora você está pronto para se inscrever para uma conta no KDE SVN. Vá até https://sysadmin.kde.org/svnaccount/ e preencha o formulário.

Depois de preencher o formulário, você receberá um email com um link para visitar. Isso serve para verificar seu endereço de email. A inscrição não se completará até você clicar no link.

Note também que o formulário lhe perguntará quem o encorajou a se inscrever. Ele ou ela também receberá um email para verificar seu pedido.

O formulário também possui um campo justification (justificativa), onde você pode explicar o que você pretende fazer com sua futura conta, como, por exemplo, desenvolver uma certa aplicação, trabalhar em documentação, ser o líder de um time de tradução...

E agora?

Depois de enviar o formulário e clicar no link do email, você deve esperar uma resposta (tipicamente por dois ou três dias).

Quando você receber uma confirmação de que sua conta foi criada, você rpecisa adaptar sua cópia local ao novo servidor. Veja next tutorial para os seus primeiros passos com a conta.

Por favor, adicione suas informações geográficas (em que país você está) e outros detalhes na página de dados do Commit Digest para que o Commit Digest possa refletir com exatidão quem está trabalhando onde.