Uma introdução ao Linux-PAM

O Linux-PAM (Pluggable Authentication Modules for Linux) é uma suíte de bibliotecas distribuídas que viabilizam ao administrador do sistema especificar a forma que as aplicações autenticam os seus usuários. Basicamente, é um mecanismo bastante flexível para autenticação de usuários.

[ Hits: 71.253 ]

Por: João Lucas Pereira de Santana em 18/06/2010


Sintaxe dos arquivos de configuração



O parâmetro module-type está relacionado com o tipo de gerenciamento de tarefa realizado pelo Linux-PAM, podendo ser: gerenciamento de autenticação (auth), gerenciamento de conta (account), gerenciamento de sessão (session) e gerenciamento de senha (password).

account: realiza o gerenciamento não-autenticado contas. É tipicamente usado para permitir ou negar acesso a serviços de um usuário em uma data ou máquina específica, além de permitir controles diversos, como expiração de senha.

auth: fornece dois aspectos para autenticação de usuário. Primeiramente, verifica se o usuário realmente é quem ele diz ser, instruindo a aplicação a solicitar a senha ou outra forma de identificação. Além disso ele pode configurar credenciais ou privilégios do usuário, como estabelecer a quais grupos o usuário pertence.

password: é utilizado para alterar a senha (ou outro mecanismo de autenticação do usuário). Em geral é utilizado após o módulo auth, para exigir a senha antiga antes da nova.

session: providencia o controle das ações realizadas antes e depois da conexão do usuário ao serviço disponibilizado pela aplicação PAM. Isso inclui informações relacionadas a montagens de diretórios, configuração de variáveis de ambiente, registro de atividades etc.

O parâmetro control-flag indica o comportamento da API PAM no caso de sucesso ou falha no processo de autenticação. Há dois tipos de sintaxe para este campo, uma mais simples (amplamente usada) e outra mais complexa envolvendo pares de valor-ação. Neste artigo, usaremos a mais simples, que consiste da seguintes palavras-chave:
  • required: indica que o sucesso do módulo é necessário ao sucesso da tarefa especificada pelo parâmetro module-type. A falha desse módulo não interromperá a checagem dos outros módulos de mesmo tipo.
  • requisite: funciona de maneira similar à opção required. No entanto, em caso de falha, o controle é retornada automaticamente para a aplicação desconsiderando-se os outros módulos do mesmo tipo.
  • sufficient: o sucesso de um módulo com a opção sufficient é suficiente para satisfazer a pilha de módulos destinada ao tipo de módulo onde é usado. O Linux-PAM retorna imediatamente o controle para a aplicação desconsiderando os demais módulos do mesmo tipo. A falha nesse módulo, entretanto, não implica em falha da pilha, a menos que seja o único.
  • optional: o sucesso ou falha deste módulo somente é importante se ele é o único módulo na pilha associada com o serviço especificado.É utilizado em módulos que oferecem algum serviço ao usuário, mas que não são críticos ao processo de autenticação como um todo.

O parâmetro module-path, se iniciado com o caractere '/', é o caminho completo do módulo que será carregado pelo PAM, caso contrário, o Linux-PAM considera o caminho relativo ao diretório /lib/security/ ou /lib64/security/.

O parâmetro args consiste de uma lista de argumentos separados por espaço usados para modificar o comportamento de um dado módulo PAM. É específico de cada módulo.

Página anterior     Próxima página

Páginas do artigo
   1. Motivação
   2. Sintaxe dos arquivos de configuração
   3. Mãos à obra
   4. Realizando testes
Outros artigos deste autor

Implementação LDAP e Java

Leitura recomendada

Chroot + Bind sem stress

Rede wireless: autenticação em uma rede WPA

HoneyPots em Linux

PuTTY - Estabelecendo Chave Secreta com OpenSSH

Quad9 - O que é e como usar

  
Comentários
[1] Comentário enviado por removido em 18/06/2010 - 15:10h

Muito bom este trabalho. Talvez retire um pouco do medo que os usuários do slackware tem do PAM. Que o diga o patrick volkerding, para quem estes módulos são o próprio cramunhão em pessoa!!!

[2] Comentário enviado por jucaetico em 23/06/2010 - 07:19h

Cara, muito bom artigo. Um ajuda pra galera que vai fazer a LPIC-2. Abraços

[3] Comentário enviado por dfsantos em 29/06/2010 - 12:25h

Parabéns amigo, artigo de primeira. Se puder, gostaria de ver uma abordagem mais profunda referente ao PAM em seus proximos artigos.

[4] Comentário enviado por eferro em 17/11/2014 - 09:30h

Parabéns predisposição em compartilhar conhecimento. Excelente artigo.

[5] Comentário enviado por rpfreitas em 28/11/2014 - 09:22h

Parabéns, ótimo tutorial simples e objetivo e fácil entendimento.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts