Automatizar conjunto de senhas e verificar

3

Estou usando isso para definir senhas em um script:

usermod -p 'mkpasswd -H md5 passwordText' user

Eu preciso criar uma exceção no meu script, caso este comando falhe. Qual arquivo contém a senha criptografada e como inverter a criptografia para que eu possa verificar se ela foi gravada no arquivo corretamente?

Edit: Eu finalmente encontrei o problema com a linha acima. A senha permitia símbolos que estavam sendo interpretados como curingas na linha de comando, fazendo com que parecesse que o comando falhava. No entanto, isso me leva a coisas novas que eu estou feliz em saber agora.

    
por bambuntu 01.03.2012 / 02:29

2 respostas

2

Em vez de reverter o arquivo shadow, por que não apenas:

usermod -p 'mkpasswd -H md5 passwordText' user

if [ $? -ne 0 ]; then
    echo "Changing password failed!!!!!!"
fi

Você pode substituir o que quiser no bloco if , mas se um comando falhar por usermod , ele retornará um status diferente de zero.

    
por Marco Ceppi 01.03.2012 / 03:45
1

A senha é armazenada em /etc/shadow e você pode tentar confirmá-la com john the ripper.

Eu não tenho certeza se postar tutoriais para john são permitidos aqui, se assim for eu posso escrever um facilmente, mas se não for uma pesquisa no google irá mostrar-lhe como.

Por último, olhei, John precisava de um patch, mas o relatório de bug na barra de lançamento parecia indicar que o patch foi incorporado ao repositório, então eu tentava primeiro a versão não corrigida (eu sei, preguiçosa =)). / p>

Curto de john, su - test_user - > insira a senha.

Breve tutorial sobre john the ripper:

Instale o john

sudo apt-get install john

Prepare o banco de dados de trabalho (fiz um "teste" de usuário com uma senha fraca para este exemplo).

sudo unshadow /etc/passwd /etc/shadow > password.db

Executar john

john password.db

Loaded 2 password hashes with 2 different salts (generic crypt(3) [?/64])
Remaining 1 password hash
guesses: 0  time: 0:00:00:03 0% (2)  c/s: 222  trying: monday - emily

Como você pode ver, john quebrou a senha fraca em 0.03 segundos, minha senha de usuário é muito strong para john, então abortei com Crtl + c

Mostrar a senha

john --show password.db

test:testing:1001:1001:,,,:/home/test:/bin/bash

1 password hash cracked, 1 left

Aqui vemos o usuário "test" com a senha "testing"

su test
Password: 

teste @ ufbt: / home / test

    
por Panther 01.03.2012 / 02:46