Gerando a string correspondente ao comando passwd

0

Eu tenho uma página protegida no meu servidor e esqueci a senha para essa página. Ok, eu posso mudar essa senha, mas será um problema porque eu tenho essa senha armazenada em muitos sistemas que os usam para acessar o diretório. Eu posso ver o arquivo .passwords, algo como

myusername: $ aprX8XYAJG ... / O5E1

Existe um comando no unix que eu posso usar para gerar essa string do mumbo jumbo para o terminal, para que eu possa comparar os dois e ver se tenho uma correspondência?

Quero dizer gerar para um arquivo sem interferir ou criar novos usuários ou senhas no sistema.

    
por SpaceDog 30.03.2016 / 18:04

1 resposta

1

Seu plano para comparar o hash em vários sistemas pode ou não produzir o resultado desejado, com base na origem do hash em cada sistema.

Hashes são a saída de uma função de mapeamento unidirecional que sempre (em teoria) produzirá o mesmo resultado para uma dada entrada, e não irá produzir essa mesma cadeia para qualquer outra entrada. A questão é que existem muitos algoritmos hash, e alguns alteram a entrada de uma forma previsível antes do hashing (chamado "Salting the Hash") . Outros usam um número variável de "rounds", onde o hash resultante é reescrito várias vezes.

Se os hashes foram criados com o mesmo algoritmo de hash e nenhum sal específico da máquina foi usado, os dois sistemas gerariam o mesmo hash para a mesma senha e seu plano funcionará.

Se, no entanto, o mecanismo para gerar os hashes em cada caixa for diferente ou eles incluírem um token específico do sistema para sal, então não, a mesma senha geraria uma saída hash diferente em cada sistema, assim você poderia estar procurando em dois hashes diferentes e não sei se eles foram baseados na mesma entrada de senha.

Veja aqui os detalhes sobre como o Linux PAM usa hashing em / etc / passwd e / etc / shadow: link

    
por 30.03.2016 / 18:20