Authentification LDAP

Installation des paquets

apt-get install -y --force-yes nscd libpam-ldap base-files libnss-ldap

Renommage des anciennes configurations

mv /etc/pam_ldap.conf /etc/pam_ldap.conf.orig
mv /etc/nsswitch.conf /etc/nsswitch.conf.orig
mv /etc/ldap/ldap.conf /etc/ldap/ldap.conf.orig
mv /etc/libnss-ldap.conf /etc/libnss-ldap.conf.orig

Définition des accès aux serveurs

tee /etc/valid_users <<EOF
root
equemene
vidal
EOF

Récupération des fichiers de configuration pour Ldap

cd /etc
wget http://fileserver.cbp.ens-lyon.fr/config/Client/pam_ldap.conf
wget http://fileserver.cbp.ens-lyon.fr/config/Client/nsswitch.conf
wget http://fileserver.cbp.ens-lyon.fr/config/Client/libnss-ldap.conf

cd /etc/ldap
wget http://fileserver.cbp.ens-lyon.fr/config/Client/ldap.conf

cd /etc/ssl/certs/
wget http://fileserver.cbp.ens-lyon.fr/config/Client/cacru_comodo.crt

Récupération des fichiers de configuration pour PAM

cd /etc/pam.d/
mv common-auth common-auth.orig
mv common-session common-session.orig
wget http://fileserver.cbp.ens-lyon.fr/config/Client/common-auth
wget http://fileserver.cbp.ens-lyon.fr/config/Client/common-session

Le common-session modifié permet la création à la volée du compte à la première connexion.

Relance du démon nscd

/etc/init.d/nscd restart

Autorisation de sudo

apt-get install sudo

Si le LDAP est accessible :

cat /etc/valid_users | while read LOGIN; do addgroup $LOGIN sudo; done

Si le LDAP ne l'est pas (par exemple dans le dossier sur l'hôte des target iSCSI) :

mv /etc/group /etc/group.orig
SUDOERS=$(cat /etc/valid_users | tr '\n' ',')
sed -e "s/sudo:x:27:root/sudo:x:27:$SUDOERS/g" /etc/group.orig > /etc/group

La commande fonctionne parfaitement sous Squeeze : les utilisateurs peuvent lancer un sudo su - .

Il est nécessaire de passer sous libnss-ldapd et libpam-ldapd pour faire fonctionner le sudo.

apt-get install libnss-ldapd libpam-ldapd
tee /etc/nslcd.conf <<EOF
uid nslcd
gid nslcd

uri ldaps://ldap.ens-lyon.fr
base dc=ens-lyon,dc=fr

tls_reqcert allow
EOF
/etc/init.d/nslcd restart

Ajout automatique des comptes locaux

Dans /etc/pam.d/common-session :

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