SAMBA - Montage de partages à l'ouverture de session Linux
- Suivez en premier cette documentation SAMBA - Intégration d'un poste sous Ubuntu
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é