Skip to Content

Monter automatiquement des partitions en fonction du login de connexion avec libpam-mount

But de ce document

Ce document me sert de mémo pour monter automatiquement des partages samba d’autres postes du réseau en fonction du login de connexion.

L’utilisateur connecté sur le poste Linux, peut donc parcourir les fichiers des autres postes en fonction de ses propres droits.

Ce mémo a été écrit et testé pour une Debian Testing, mais il doit être possible de l’adapter facilement à d’autres distributions.

Pré-requis

Avoir installé une Debian de Base :

  •  cf mon autre document sur ce sujet : http://www.coagul.org/article.php3 ?id_article=158

    Problèmes posés avec le montage classique par « fstab »

    Un montage classique est paramétré dans le fichier « /etc/fstab ».

    Tous les montages indiqués dans ce fichier sont montés (automatiquement ou pas) au démarrage du système.

    Les montages sont communs à tous les utilisateurs et les droits sont ceux indiqués dans les options de ce montage.

    Il n’est pas possible d’avoir des montages différents ou des droits différents sur les montages en fonction de l’utilisateur connecté.

    Installation libpam-mount

    Paquet à installer :

    apt-get install libpam-mount

    Autres paquets à installer pour monter des partitions samba :

    apt-get install smbfs smbclient

    Configuration du fichier « /etc/security/pam_mount.conf »

    Remarque  : Le caractère « \ » indiqué dans les lignes de configuration de ce chapitre correspond à un saut de ligne. Il ne faut pas le mettre et supprimer le saut de ligne.

    Le fichier « pam_mount.conf » est le fichier principal de configuration de « libpam-mount »

    Pour monter un partage automatiquement, il faut ajouter à la fin du fichier, une ligne du type :

    volume [smb|ncp|nfs|local]
    \
     
  •  user : Nom de l’utilisateur ou « * » pour tous les utilisateurs.
  •  server : Nom ou adresse IP du serveur
  •  partage : Nom du partage à monter.
  •  mount point : Point de montage du partage. Si le dossier n’existe pas, il sera créé automatiquement
  •  mount options : Options de montage correspondant au système de fichiers à monter (Les mêmes que pour /etc/fstab). Mettre un tiret si ce paramètre n’est pas utilisé.
  •  fs key cipher : Indique le type de clé à utiliser pour crypter (non testé). Mettre un tiret si ce paramètre n’est pas utilisé.
  •  fs key path : Indique le chemin d’accès au fichier contenant la clé (non testé). Mettre un tiret si ce paramètre n’est pas utilisé.

    Remarque : Si « * » est utilisé pour le paramètre , le caractère « & » correspondra au login de l’utilisateur.

    Voici un exemple pour monter le dossier partagé « Utilisateurs » du serveur « pglinux » sur le point de montage «  /Reseau/pglinux » pour tous les utilisateurs (Le signe correspond au répertoire home de l’utilisateur) :

    volume * smb pglinux Utilisateurs ~/Reseau/pglinux - - -

    Voici le même exemple avec des options de montage :

    volume * smb pglinux Utilisateurs ~/Reseau/pglinux uid=&,gid=&,fmask=0700,dmask=0700, \
     workgroup=VOTREDOMAINE,iocharset=iso8859-1,codepage=cp850 - -

    Voici le même exemple valable uniquement pour l’utilisateur tony (Dans ce cas, le signe « & » n’est plus utilisable) :

    volume tony smb pglinux Utilisateurs ~/Reseau/pglinux uid=tony,gid=tony, \
     fmask=0700,dmask=0700,workgroup=VOTREDOMAINE,iocharset=iso8859-1,codepage=cp850 - -

    Débugage : La première ligne de ce fichier permet également d’activer le débugage pour comprendre ce qui ne fonctionne pas :

    debug 1

    Si vous ne souhaitez pas que les points de montage soient créés automatiquement s’ils n’existent pas, il faut modifier la ligne suivante :

    mkmountpoint 0

    Configuration de pam

    ATTENTION : Avant de modifier la configuration de pam, il est vivement conseillé d’ouvrir une console sous root (ALT+F1) et de ne pas la fermer tant que tout ne fonctionne pas correctement. Une mauvaise configuration de pam peut empêcher toute connexion même sous root.

    Remarque  : Il existe plusieurs façons de configurer pam, car cela dépend de ce que l’on veut faire. Il est possible de monter les partitions depuis toutes sortes de connexions (via kdm, login, su, ssh) ou seulement depuis une seule sorte de connexion (ex : kdm). De plus la configuration de pam dépend également de la configuration actuelle du système. Dans ce mémo, je pars du principe que pam n’a jamais été modifié sur la Debian Testing.

    Montage des partitions avec tous les types de connexion

    Remarque  : Les fichiers de configuration de pam sont situés dans « /etc/pam.d/ ». dans ce dossier on trouve un fichier par type de connexion (kdm, su, ssh,..) et des fichiers communs à tous (common-account, common-auth,...)

    Pour que le paramétrage soit valable pour tous les modes de connexion, il faut donc modifier les fichiers communs.

    Il faut ajouter la ligne suivante dans le fichier « /etc/pam.d/common-session » :

    session required pam_mount.so

    Il faut ajouter la ligne suivante au début du fichier « /etc/pam.d/common-auth » :

    auth  required  pam_mount.so

    Et ajouter « use_first_pass » à la ligne suivante pour que le mot de passe utilisé par la ligne précédente soit réutilisé sans devoir le saisir plusieurs fois :

    auth  required  pam_unix.so nullok_secure use_first_pass

    Montage des partitions uniquement avec une connexion de type « su »

    Par défaut la configuration du fichier « /etc/pam.d/su »ressemble à ceci :

    auth       sufficient pam_rootok.so
    @include common-auth
    @include common-account
    @include common-session

    Les lignes commençant par un « @ » permettent d’inclure les fichiers indiqués.

    En intégrant les fichiers importés et en ajoutant les lignes nécessaires à la configuration de pam, le fichier « /etc/pam.d/su » pourrait ressembler à ça :

    auth    sufficient  pam_rootok.so
    auth    required    pam_mount.so
    auth    required    pam_unix.so nullok_secure use_first_pass
    account required    pam_unix.so
    session required    pam_unix.so
    session required    pam_mount.so

    Montage des partitions uniquement avec une connexion de type « kdm »

    Si kde est installé sur le poste et si vous souhaitez effectuer le montage des partitions uniquement à la connexion via kdm, vous pouvez modifier le fichier « « /etc/pam.d/kdm » comme ceci :

    auth       required   pam_mount.so
    auth       required   pam_unix.so nullok_secure use_first_pass
    account    required   pam_unix.so
    password   required   pam_unix.so nullok obscure min=4 max=8 md5
    session    required   pam_unix.so
    session    required   pam_mount.so
    auth       required   pam_nologin.so
    auth       required   pam_env.so
    session    required   pam_limits.so

    Test de la configuration

    Si vous avez modifié le fichier « su », il faut faire un « su » sur l’utilisateur à tester et vérifier que tout est bien monté. Si le débugage a été activé (debug 1), de nombreuses lignes d’informations s’afficheront à l’écran juste après la saisie du mot de passe.

    Si vous avez modifié le fichier « kdm », il faut se reconnecter via kdm.

    Historique des modifications

    Version Date Commentaire
    0.1 31/05/05 Création par Tony GALMICHE
    0.2 26/09/05 Ajout différentes configurations de pam
  • Commentaires

    > Monter automatiquement des partitions en fonction du login de

    Pour permettre aux volumes montés de se démonter à l’ouverture de session il faut mettre le paramètre CLOSE_SESSION a yes dans le fichier /etc/login.defs

    (valable pour debian en test sur ubuntu)