[AUTHENTIFICATION] : Authentification centrale pour Debian Squeeze via OpenLDAP
Par neoclimb,
lundi 8 août 2011 à 14:14 ::Linux::
Ce tutoriel vous détails la mise en place d'une gestion d'authentification unique pour l'accès au serveurs/postes Debian.
Référence : https://help.ubuntu.com/community/PamCcredsHowto
Installation des paquets:
apt-get install libpam-ldap libpam-cracklib libnss-ldap libpam-cracklibA la suite de cette commande un assistant s'ouvre, remplir les informations. Sinon lancer la commande dpkg-reconfigure libpam-ldap ou dpkg-reconfigure libnss-ldap
Configuration des fichiers:
Fichier/etc/pam.d/common-account
account [user_unknown=ignore authinfo_unavail=ignore default=done] pam_unix.so account [user_unknown=ignore authinfo_unavail=ignore default=done] pam_ldap.so account required pam_permit.soFichier /etc/pam.d/common-auth#Directive suivante modifié en required pour le hostcontrol via ldap #account required pam_ldap.so ignore_unknown_user
auth [success=done default=ignore] pam_unix.so nullok_secure try_first_pass auth [authinfo_unavail=ignore success=1 default=2] pam_ldap.so use_first_pass auth [default=done] pam_ccreds.so action=validate use_first_pass auth [default=done] pam_ccreds.so action=store auth [default=bad] pam_ccreds.so action=updateFichier /etc/pam.d/common-password
password requisite pam_cracklib.so retry=3 minlen=8 difok=3 password [success=2 default=ignore] pam_unix.so obscure use_authtok try_first_pass sha512 password [success=1 user_unknown=ignore default=die] pam_ldap.so use_authtok try_first_pass password requisite pam_deny.so password required pam_permit.so password optional pam_gnome_keyring.soFichier /etc/pam.d/common-session
session [default=1] pam_permit.so session requisite pam_deny.so session required pam_permit.so session required pam_unix.so session required pam_mkhomedir.so skel=/etc/skel/ umask=0077 session optional pam_ldap.so session optional pam_ck_connector.so nox11Fichier /etc/pam.d/common-session-noninteractive
session [default=1] pam_permit.so session requisite pam_deny.so session required pam_permit.so session required pam_unix.so session optional pam_ldap.so
Fichier /etc/nsswitch.conf#cat /etc/pam_ldap.secret votrepassword #chmod 600 /etc/pam_ldap.secret
passwd: compat ldap [NOTFOUND=return] db group: compat ldap [NOTFOUND=return] db shadow: compat ldapFichier /etc/libnss-ldap.conf
host 192.xxx.xxx.xxx 192.xxx.xxx.xxx #uri ldap://192.xxx.xxx.xxx ldap://192.xxx.xxx.xxx base ou=users,dc=homelinux,dc=net ldap_version 3 rootbinddn cn=admin,dc=homelinux,dc=net bind_policy soft nss_base_passwd ou=users,dc=homelinux,dc=net?sub nss_base_group ou=group,dc=homelinux,dc=net?one nss_base_shadow ou=users,dc=homelinux,dc=net?subFichier /etc/pam_ldap.conf
uri ldap://192.xxx.xxx.xxx ldap://192.xxx.xxx.xxx ldap_version 3 base ou=users,dc=homelinux,dc=net rootbinddn cn=admin,dc=homelinux,dc=net scope sub # Exclusion de root pam_filter !(uid=root) # Contrôle si la personne est autorisé sur cette hôte pam_check_host_attr yes # Méthode pam pour la couplage avec smbk5pwd #pam_password crypt pam_password exop # ID = On change le pwd unix et samba sans conservé l'ancien exop_arguments idMise en place d'un système de cache credentials pour les portbales
# /etc/init.d/nscd stop # vi /etc/nscd.conf debug-level 0 reload-count unlimited paranoia no enable-cache passwd yes positive-time-to-live passwd 2592000 negative-time-to-live passwd 20 suggested-size passwd 211 check-files passwd yes persistent passwd yes shared passwd yes max-db-size passwd 33554432 auto-propagate passwd yes enable-cache group yes positive-time-to-live group 2592000 negative-time-to-live group 60 suggested-size group 211 check-files group yes persistent group yes shared group yes max-db-size group 33554432 auto-propagate group yes
# apt-get install nss-updatedb libnss-db libpam-ccredsCréation de la base locale passwd et group :
# nss_updatedb ldap passwd... done. group... done. # ls -l /var/lib/misc/*.db -rw-r--r-- 1 root root 8192 2008-08-26 18:20 /var/lib/misc/group.db -rw-r--r-- 1 root root 8192 2008-08-26 18:20 /var/lib/misc/passwd.dbCréation d'un script via anacron pour le refresh de la base.
# vi /etc/cron.hourly/upd-local-nss-db #!/bin/sh /usr/sbin/nss_updatedb ldap >/dev/null 2>&1 # chmod +x /etc/cron.hourly/upd-local-nss-db # /etc/init.d/nscd restartPour tester la bonne marche de l'authentification via le cache, j'utilise la commande su afin de vérifier le timestamp sur le fichier .security.db.
ls -l /var/cache/.security.db -rw------- 1 root root 8192 2008-08-28 08:31 /var/cache/.security.db date Thu Aug 28 10:09:03 EST 2008 su neoclimb Password: exit ls -l /var/cache/.security.db -rw------- 1 root root 8192 2008-08-28 10:09 /var/cache/.security.dbVia la commande cc_dump. Je peux contrôler la présence de mon login/passwor dans le fichier .security.db.
# sudo cc_dump Credential Type User Service Cached Credentials ---------------------------------------------------------------------------------- Salted SHA1 neoclimb any 4a985b233701cf106ed450a0168fa8e0aa86ef5dAstuce : En mode graphique le mdp root est souvent demandé, lancé gksu-properties et selectionner sudo.
Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.