Como obter a senha com hash em / etc / shadow usando getpwnam ()?

2

Aparentemente, há uma função ( getpwnam ) que dado um nome de usuário, irá retornar a entrada apropriada em /etc/passwd com os outros detalhes para aquele usuário (shell, uid, gid, etc.).

No entanto, não tenho idéia de como fazer com que essa função funcione com o arquivo de senhas shadow ( /etc/shadow ). Isso é possível? O aplicativo será executado como root .

    
por Nathan Osman 26.02.2011 / 05:43

2 respostas

8

O ponto inteiro do arquivo de senhas shadow é que getpwnam não retorna senhas dele. Você precisa olhar para man 3 shadow e getspnam em particular.

    
por 26.02.2011 / 07:02
3

Isso não é possível devido a dois motivos:

  • O arquivo de sombra é um método de autenticação no sistema moderno. Alguns deles não envolvem senha real - o que deve retornar se o usuário for autenticado por impressão digital? Por que deveria quebrar qualquer aplicativo?
  • Dar a string com hash para aplicativos não-raiz permitiria ataques off-line.

É um arquivo específico do sistema, de qualquer maneira, sem muita estrutura complicada, então, se você precisar, poderá escrever seu próprio analisador.

    
por 26.02.2011 / 13:36