Autenticar credenciais Unix do usuário via navegador da Web

1

Alguém pode me dar dicas sobre como autenticar as credenciais Unix de um usuário por meio do navegador?

Estou basicamente dando acesso a uma visualização de arquivos e quero ter certeza de que os usuários estão autenticados, mas não querem fazer uma senha e um nome de usuário adicionais que eles tenham que lembrar.

    
por clifgray 08.10.2014 / 23:49

1 resposta

1

Existem alguns métodos transparentes para isso, infelizmente.

  • Em uma rede gerenciada centralmente, é possível usar o Kerberos, com mod_auth_gssapi ou mod_auth_kerb no lado do servidor da Web (também conhecido como "HTTP Negotiate"). O Kerberos é muito seguro, mas pode ser difícil configurar para uso na web (nem todos os navegadores o suportam, e apenas alguns permitem isso por padrão).

  • Se todos os computadores são confiáveis (ou seja, os usuários não têm permissão para adulterar o software instalado pela raiz), o protocolo Ident (RFC 1413) é uma possibilidade, mas a autenticação é muito fraca.

Mas, na maioria das vezes, sua única opção é pedir uma senha.

  • Se os usuários tiverem contas em /etc/passwd , como mencionado em seu comentário, infelizmente, a execução de um programa privilegiado é a maneira somente de verificar uma senha recebida em relação a /etc/shadow .

    Se você fizer isso, não escreva seus próprios scripts através de sudo , porque você irá errar a validação de entrada pela primeira vez, e porque já é um problema resolvido. Escolha algo bem conhecido, por exemplo Cyrus saslauthd (que pode ser executado no modo -a pam ); Dessa forma, seu site não precisará de privilégios além da conexão com o soquete saslauthd .

por 10.10.2014 / 07:07