Como alguém deve criar uma senha criptografada para / etc / shadow?

8

Estou configurando uma nova conta em uma caixa Linux para acesso ao repositório Subversion, e posso enviar a senha para o novo usuário. No entanto, acho que havia um utilitário de linha de comando para esse novo usuário criptografar a senha que ele gosta em um formato que eu possa copiar / colar diretamente no arquivo / etc / shadow.

Qual foi o comando completo que esse novo usuário deve executar no console (por exemplo, Bash) para criar essa senha criptografada?

UPDATE: o usuário não poderá efetuar login na máquina, e a conta será usada apenas para o acesso svn + ssh: //. Portanto, o usuário não pode alterar ele mesmo.

    
por Egon Willighagen 24.11.2009 / 17:45

6 respostas

15

o usuário pode executar em seu computador algo como:

echo "password"|openssl passwd -1 -stdin

e, em seguida, enviar-lhe a saída.

    
por 24.11.2009 / 19:30
2

O formato da senha na sombra pode variar. Você poderia configurá-lo para ser MD5 ou o bom e velho DES3 ou ... Você está enviando uma senha ao seu usuário e forçando-a a alterá-lo no primeiro login ( # chage -d 0 username )

    
por 24.11.2009 / 17:51
1

Em vez de criptografá-la e enviá-la para você, por que não apenas digita:

passwd

Ele fará tudo o que você quiser com a vantagem adicional de poder alterar suas senhas sem nenhum trabalho extra para você.

EDIT: De acordo com isto , supostamente existe um comando chamado makepassword que você pode obter para o Debian / Ubuntu.

    
por 24.11.2009 / 17:57
0

/ etc / passwd e / etc / shadow são muito fáceis de tokenizar com as ferramentas usuais de linha de comando (por exemplo, grep, awk, sed, tr, etc).

O que se torna interessante é o campo hash da senha real em / etc / shadow, seu prefixo informa como a senha foi criptografada. Do homem (5) sombra:

The password field must be filled. The encrypted password consists of 13 to 24 characters from the 64 characters alphabet a thru z, A
thru Z, 0 thru 9, \. and /. Optionally it can start with a "$" character. This means the encrypted password was generated using another
(not DES) algorithm. For example if it starts with "$1$" it means the MD5-based algorithm was used.

Como foi criptografado amplamente depende de quantos anos o sistema operacional instalado é. É importante prestar atenção especial ao segundo campo em / etc / shadow.

Você deve fazer todos os esforços para seguir qualquer hash que o sistema esteja usando, seja DES, MD5, etc., já que é tão fácil de detectar.

    
por 24.11.2009 / 18:05
0

Por que não entrar no usuário e executar o passwd?

    
por 24.11.2009 / 18:20
0

Existe uma maneira de gerar essas senhas via linha de comando? Sim, com o pacote debian makepasswd (mas apenas para o MD5):

echo "mypasswd" | makepasswd --crypt-md5
$1$r2elYKyB$vUr/Ph.brKTldM2h2k8J5.

Mas isso não funcionará via copiar e colar dentro de / etc / shadow Para alterar a senha via script em algumas distribuições linux, você pode usar:

echo oracle:mypasswd | chpasswd

ou

echo -n mypasswd | passwd --stdin oracle
    
por 25.11.2009 / 00:16