Autenticando usuários

Este artigo descreve como as informações de usuários e grupos são armazenadas e como os usuários são autenticados em um sistema Linux (PAM). Ele também descreve como tornar o sistema de autenticação de usuários seguro.

[ Hits: 52.207 ]

Por: Cristian Alexandre Castaldi em 22/09/2004


PAM (Pluggable Authentication Modules)



PAM é um conjunto de módulos que definem como as aplicações autenticarão os usuários no sistema. Os arquivos de configuração do PAM estão armazenados no diretório /etc/pam.d/.

# ls /etc/pam.d
chfn
chsh
cron
ftp
gdm
gdm-autologin
imap
kde
kscreensaver
login
other
passwd
ppp
proftpd
qpopper
samba
screen
ssh
su
xdm

Seu sistema pode ter vários arquivos de configuração neste diretório, tudo depende do que tiver instalado no seu sistema. Cada arquivo possui módulos PAM de configuração de autenticação, observe o arquivo de autenticação do Samba:

# cat /etc/pam.d/samba
auth         required        pam_unix.so nullok
account      required        pam_unix.so
session      required        pam_unix.so
password     required        pam_unix.so
Caso no seu sistema Linux você não tenha o diretório /etc/pam.d, mas sabe que sua distribuição dá suporte ao PAM, provavelmente sua configuração PAM e a configuração dos outros arquivos de configuração estão todas armazenados no arquivo /etc/pam.conf.

Sintaxe de configuração


Os arquivos de configuração PAM possuem a seguinte sintaxe:

type - Este módulo define o tipo de autenticação e possui os seguintes parâmetros:
  • account - Valida as contas de usuário para os serviços;
  • auth - Faz a autenticação dos usuários;
  • password - Cria e modifica as senhas dos usuário;
  • session - Gerencia a sessão de um usuário autenticado no sistema.

control - Este módulo define o tipo de controle que será usado se a autenticação falhar e possui os seguintes parâmetros:
  • requisite - Se a autenticação do módulo falhar nega a autenticação imediatamente;
  • required - Se a autenticação do módulo falhar nega a autenticação e não notifica o usuário até que os outros módulos do mesmo tipo sejam verificados;
  • sufficient - Se a autenticação deste módulo é aceita, o PAM permite a autenticação mesmo se o módulo com o parâmetro required falhar;
  • optional - O sucesso ou falha na autenticação só é significante se o módulo for único em relação ao serviço ou classe;

module-path - Este módulo informa o diretório default de módulos do PAM, geralmente em /usr/lib/security ou /lib/security.

module-arguments - São argumentos que são passados aos módulos.

O arquivo de configuração pam.conf


Se sua configuração PAM está armazenada no arquivo /etc/pam.conf ao invés dos arquivos de configuração do diretório /etc/pam.d/, as linhas de configuração PAM são diferentes. Cada serviço possui sua configuração armazenada no pam.conf com o nome do serviço na primeira linha de configuração. Observe o exemplo do arquivo /etc/pam.d/login:

auth   required   pam_unix.so    nullok

No arquivo /etc/pam.conf ficaria assim:

login   auth   required   pam_unix.so    nullok

Podemos obter mais informações de configuração do arquivo pam.conf consultando o guia de referência Linux-PAM System Administrator's Guide, disponível na internet.

Página anterior     Próxima página

Páginas do artigo
   1. Como as informações de usuário são armazenadas no sistema
   2. PAM (Pluggable Authentication Modules)
   3. Autenticação segura de usuários
   4. Bibliografia
Outros artigos deste autor

Usando partições e sistemas de arquivos

Sistema de boot, níveis de execução e shutdown

Instalando e configurando o servidor Samba

Trabalhando com coringas, filtros e expressões regulares no shell

Servidor CVS: Instalando, configurando e gerenciando no Linux

Leitura recomendada

Interligando o Asterisk com o callcenter

Instalando o modem Pctel PCI no Conectiva 10

Instalando Apache Hadoop

Enlightenment no Debian Squeeze e no Ubuntu

Sabayon 5.0 - Transformando Sabayon 4.0r1 em Sabayon 5.0 "Full" (parte 2)

  
Comentários
[1] Comentário enviado por y2h4ck em 22/09/2004 - 10:12h

Bacana o artigo, so uma pequena correção,
vc disse no começo que o /etc/passwd contem a password criptografado do usuario sendo que é o shadow que contem, acho que vc escreveu um pensando no outro :)

mas fora isso ta show :)

[]s


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts