Google
Web dns.bdat.net

Sistema de validación PAM

El sistema PAM se utiliza para comprobar si unas credenciales son correctas. Puedes encontrar más detalles sobre la configuración de PAM en http://dns.bdat.net/documentos/samba/html/pam.html.Aquí sólo vamos a presentar los cambios necesarios.

Fichero /etc/pam.d/system-auth

Para que el sistema admita la validación de contraseñas contra una base de datos LDAP necesitamos configurar PAM

#%PAM-1.0
auth        required      /lib/security/$ISA/pam_env.so
auth        sufficient    /lib/security/$ISA/pam_unix.so likeauth nullok
auth        sufficient    /lib/security/$ISA/pam_ldap.so use_first_pass
auth        required      /lib/security/$ISA/pam_deny.so
account     sufficient    /lib/security/$ISA/pam_succeed_if.so uid < 100
account     required      /lib/security/$ISA/pam_unix.so
account     [default=bad success=ok user_unknown=ignore] /lib/security/$ISA/pam_ldap.so
password    requisite     /lib/security/$ISA/pam_cracklib.so retry=3 type=
password    sufficient    /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow
password    sufficient    /lib/security/$ISA/pam_ldap.so use_authtok
password    required      /lib/security/$ISA/pam_deny.so
session     required      /lib/security/$ISA/pam_limits.so
session     required      /lib/security/$ISA/pam_unix.so
session     optional      /lib/security/$ISA/pam_ldap.so
              

Podemos observar como añadimos las líneas que incluyen pam_ldap.so. Si quisiéramos que también se utilizara winbind como alternativa a la validación del sistema utilizaríamos:

#%PAM-1.0
auth required /lib/security/$ISA/pam_env.so 
auth sufficient /lib/security/$ISA/pam_unix.so likeauth nullok 
auth sufficient /lib/security/$ISA/pam_ldap.so use_first_pass
auth sufficient /lib/security/$ISA/pam_winbind.so use_first_pass 
auth required /lib/security/$ISA/pam_deny.so
account sufficient /lib/security/$ISA/pam_unix.so
account [default=bad success=ok user_unknown=ignore] /lib/security/$ISA/pam_ldap.so
account [default=bad success=ok user_unknown=ignore service_err=ignore system_err=ignore] /lib/security/$ISA/pam_winbind.so
password required /lib/security/$ISA/pam_cracklib.so retry=3 type= 
password sufficient /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow
password sufficient /lib/security/$ISA/pam_ldap.so use_authtok
password sufficient /lib/security/$ISA/pam_winbind.so use_authtok 
password required /lib/security/$ISA/pam_deny.so
session required /lib/security/$ISA/pam_limits.so 
session optional /lib/security/$ISA/pam_unix.so
session optional /lib/security/$ISA/pam_ldap.so
session optional /lib/security/$ISA/pam_winbind.so
              

Creación de directorios personales

También podemos añadir al fichero system-auth la línea:

session optional pam_mkhomedir.so skel=/etc/skel/ umask=0022
              

para crear los directorios personales bajo demanda cuando iniciamos una sesión de trabajo.