apresenta aos usuários um prompt de login? / bin / login? getty?

3

Eu tenho um serviço que executa um comando quando um usuário se conecta a ele por meio de um soquete e redireciona tudo o que recebe para o programa executado.

Funciona bem com shells como o bash, dando ao usuário um shell remoto.

Em vez de forjar bash ou sh, gostaria de executar algo que solicite usuário e senha, como /bin/login

Esse é o comando correto para executar? Não há nada que um serviço não-root possa usar para fazer o mesmo? Eu acho que getty chama /bin/login , mas posso apenas executá-lo como usuário?

Eu acho que eu poderia instalar telnetd e redirecionar para telnet localhost , mas eu prefiro não executar um servidor telnet.

    
por marianov 13.11.2013 / 17:11

1 resposta

1

Como pedir uma senha?

print $prompt
read $response

Se você quiser saber como autenticar seus usuários, o ideal seria que você escrevesse seu programa como ciente de pam, seguindo um dos guias do desenvolvedor pam, todos oferecendo as Interwebs. Um exemplo é o link . Você também pode ter um programa auxiliar no sistema que pode ser usado para essa finalidade, como o unix_chkpwd, que pode ser usado depois de gerar um processo filho e alternar para o usuário de destino. Mas a interface do desenvolvedor do aplicativo pam é bem fácil, portanto, fazer a autenticação por conta própria provavelmente está dentro do razoável.

    
por 25.02.2014 / 22:58