Aller à : navigation, rechercher

SAMBA - Montage de partages à l'ouverture de session Linux

Dans cet exemple nous allons monter le profile.V2 stocké sur le partage \\srvfichiers.mondomaine.lan\HomeDirs dans un dossier mount appartenant à l'utilisateur

apt-get install sudo cifs-utils keyutils libpam-script

Création du dossier ou sera monter le partage dans le home de l'utilisateur:

cd /etc/skel/
mkdir partages

Configuration de pam pour lancer le script à l'ouverture de session

vi /etc/pam.d/common-session

ajouter

session required        pam_script.so dir=/etc/pam-script

mise en place du script de montage du lecteur réseau à l'ouverture de session

mkdir /etc/pam-script/
vi  /etc/pam-script/pam_script_ses_open

ajouter:

#!/bin/bash
#Montage du profil itinérant CIFS
userid=$(id -u $PAM_USER)
USER=$PAM_USER
HOME=$(getent passwd | awk -F ':' '/'${PAM_USER/\\/.}':/{print $6}')
if [ $userid -gt 100000 ]
then
     echo “Montage du partages” 
     sudo mount.cifs //srvfichiers/partages $HOME/partages/ -o sec=krb5,uid=$userid,username=$USER,cruid=$userid 
     if [ $? -eq 0 ]
     then
          echo “...OK”
     else
          echo "Une erreur est survenue."
     fi
fi


Ajout script démontage du partage au logout:

vi /etc/pam-script/pam_script_ses_close

ajouter

#!/bin/bash
#demontage du profil itinérant CIFS
userid=$(id -u $PAM_USER)
USER=$PAM_USER
HOME=$(getent passwd | awk -F ':' '/'${PAM_USER/\\/.}':/{print $6}')
if [ $userid -gt 100000 ]
then
     echo “demontage du partage” 
     sudo umount $HOME/partages/
     if [ $? -eq 0 ]
     then
          echo “...OK”
     else
          echo "Une erreur est survenue."
     fi
fi
chmod +x /etc/pam-script/pam_script_ses_open
chmod +x /etc/pam-script/pam_script_ses_close
cd /usr/share/libpam-script/
ln -s /etc/pam-script/pam_script_ses_open
ln -s /etc/pam-script/pam_script_ses_close

autorisation des utilisateurs du domaine à monter les partages dans le fichiers sudoers ( attention cette configuration est permissive à utiliser avec précaution ou à sécuriser )

visudo

ajouter

Cmnd_Alias MOUNT = /bin/mount,/bin/umount,/sbin/mount.cifs,/sbin/umount.cifs
%DOMAIN\\domain^users ALL=NOPASSWD: MOUNT

vous pouvez tenter un login/logout en ssh afin de vérifier si le partages est monté/démonté