Qual programa deve ser usado para pedir a senha do usuário no console, verificá-la e retornar apenas o código de saída?

Qual programa deve ser usado para pedir a senha do usuário no console, verificá-la e retornar apenas o código de saída?

Que programaapenaspergunta a senha do usuário especificado (mesmo que o usuário chamador seja root) e retorna o código de saída 0 se estiver OK e 1 se falhar?

Existe um programa tão simples (ou seja, não "sudo" com configuração editada) para executar a tarefa?

Também estou procurando um programa que faça login do usuário (verificando sua senha, escrevendo em auth.log), mas não execute nenhum programa (como login), simplesmente retorne o código de saída.

Responder1

Você quer um utilitário conhecido comopwauth. Ele faz exatamente o que você descreve: aceita nome de usuário e senha e retorna um código de saída com base na validade. Ele foi projetado para ser usado com o mod_auth_external do Apache para conectar-se à autenticação do sistema, mas deve funcionar perfeitamente para o que você deseja.

Responder2

O que você está tentando anular o propósito de uma sessão de usuário, o usuário já digitou essa senha quando fez login em sua conta, então é rude solicitá-la novamente para sua tarefa; se você deseja que seu programa seja baseado em login, a melhor abordagem é oferecer suporte aos chaveiros, isso permite que o próprio usuário escolha se deseja ou não digitar explicitamente uma senha para sua tarefa.

Não force os usuários a digitar correct horse battery staplenovamente quando acabaram de digitar...

Responder3

Parece que a maneira mais simples é escrevê-lo usandopython-pamusando /usr/share/doc/python-pam/examples/pamtest.pycomo exemplo. O exemplo lê a senha, autentica o usuário usando PAM e escreve a mensagem dependendo do resultado. Pode ser facilmente alterado para códigos de saída variados.

informação relacionada