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: 56.039 ]

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

Trabalhando com shell e variáveis de ambiente

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

Criando, monitorando e terminando processos

Servidor CVS: Instalando, configurando e gerenciando no Linux

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

Leitura recomendada

Aplicando o Layer7 no Fedora Core Linux 6

As melhores ferramentas de colaboração para Linux

Instalando e configurando o Apache, PHP e MySQL no Slackware 10.1

Configuração de rede mesh em Ap Router Pro

Traceroute com ICMP e TCP

  
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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts