Mudança de hábito: autenticando usuários em base de dados MySQL

O cadastro de novos usuários ocupa uma parte importante do tempo do administrador. Mas nem sempre é possível manter atualizada a lista de usuários cadastrados para acesso aos servidores da organização. O módulo pam_mysql permite autenticar usuários com o uso de uma base local centralizada, facilitando a gestão de pessoal.

[ Hits: 25.527 ]

Por: lourival araujo da silva em 03/08/2009


Entrando em cena



Para não haver falhas na autenticação dos usuários: todos precisam possuir um shell válido, mas não devem ter senha definida no sistema.

# less /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
syslog:x:101:102::/home/syslog:/bin/false
klog:x:102:103::/home/klog:/bin/false
hplip:x:103:7:HPLIP system user,,,:/var/run/hplip:/bin/false
avahi-autoipd:x:104:112:Avahi autoip daemon,,,:/var/lib/avahi-autoipd:/bin/false
gdm:x:105:113:Gnome Display Manager:/var/lib/gdm:/bin/false
avahi:x:110:121:Avahi mDNS daemon,,,:/var/run/avahi-daemon:/bin/false
haldaemon:x:111:122:Hardware abstraction layer,,,:/var/run/hald:/bin/false
prometeu:x:1000:1000:prometeu,,,:/home/prometeu:/bin/bash
mysql:x:112:125:MySQL Server,,,:/var/lib/mysql:/bin/false
estagiario1:x:1021:1010:,,,:/home/estagiario1:/bin/bash
estagiario2:x:1022:1011:,,,:/home/estagiario2:/bin/bash

Podemos testar a autenticação dos usuários cadastrados no banco de autenticação:

Ubuntu 8.10 prometeu-laptop tty2
prometeu-laptop login: estagiario2
Password: ******

Login incorrect

sudo tail /var/log/auth.log
Jul 17 10:21:15 ctadebian login[4475]: (pam_unix) authentication failure; logname= uid=0 euid=0 tty=tty2 ruser= rhost= user=estagiario2
Jul 17 10:21:17 ctadebian login[4475]: FAILED LOGIN (1) on 'tty2' FOR `estagiario2', Authentication failure
Jul 17 10:22:01 ctadebian CRON[5426]: (pam_unix) session opened for user root by (uid=0)
Jul 17 10:22:01 ctadebian CRON[5426]: (pam_unix) session closed for user root

Ubuntu 8.10 prometeu-laptop tty2
prometeu-laptop login: estagiario2
Password: ******

estagiario2@prometeu-laptop :~ $

Essa configuração pode ser utilizada para qualquer serviço com suporte ao uso do PAM: login, Squid, sudo, su, Apache2 etc, devendo ser ajustado o módulo libpam-* que corresponda ao serviço que desejarmos autenticar através da base MySQL.

Abraços a todos.

Página anterior    

Páginas do artigo
   1. Limpando o terreno
   2. Fixando as bases
   3. Montando o circo
   4. Entrando em cena
Outros artigos deste autor

Cliente Linux no servidor LDAP

Autenticação via hardware: o módulo pam_usb

Cliente "automágico" Linux logando no domínio NT/Samba

webCalendar: a agenda e o PAM

Configuração "automágica" de servidor Linux PDC Samba

Leitura recomendada

Checando vulnerabilidades com o Nikto

Segurança em Software de Código Aberto

Trilhas de Certificação em Segurança da Informação - Qual caminho seguir?

Não precisamos de antivírus, eles sim

PacketFence em Debian 6

  
Comentários
[1] Comentário enviado por lucas.suporte em 04/08/2009 - 13:28h


Interessante ...


Artigo bem explicado naum me recordo de ver um artigo aqui na vol descrito dessa forma bem simples. Uma boa alternativa para o LDAP. Aguardando suas diferenças e funções.É claro !!!

Parabens.

Lucas Rocha

[2] Comentário enviado por araujo_silva em 05/08/2009 - 08:12h

Valeu Lucas

O banco de dados pode ser mais elaborado e estabelecer relacionamentos. De formas que é possível ter várias organizações integradas em um mesmo banco, com gerentes para cada grupo, mas esse relacionamento deve ser construído através de aplicação ou modelando um banco apropriado.
É realmente uma alternativa ao ldap em organizações que não necessitem de uma estrutura mais robusta.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts