Samba et autofs

De ClissXXI.

modification Lenny/Squeeze

Dans la version 4 (Lenny), c'est un script (/etc/init.d/autofs) qui parse /etc/auto.master et qui lance automount avec les bon parametres, dans la version 5 (Squeeze) c'est directement automount qui lit /etc/auto.master.

Le systeme fonctionne presque en squeeze (avec smbclient) mais donne un comportement bizarre: le repertoire vise (mettons /mnt/cifs/serveur/partage1 disparait et apparait alors /mnt/cifs/serveur avec le contenu de partage1). Contournement:

  • installer autofs4 (venant du depot Lenny)
  • installer smbfs, autofs5 avec un montage "direct":

--- /etc/auto.master ---:

/- /etc/auto.monserveur

--- /etc/auto.monserveur ---

/mnt/cifs/serveur/partage1 -fstype=cifs,security=none ://<IP_SERVEUR>/<PARTAGE1>

Pour le moment je n'ai pas eu de succès a utiliser un montage "indirect" sous squeeze:

--- /etc/auto.master ---:

/mnt/cifs/serveur /etc/auto.monserveur

--- /etc/auto.monserveur ---

partage1 -fstype=cifs,security=none ://<IP_SERVEUR>/<PARTAGE1>

Note: le security=none c'est juste pour ne pas allonger la ligne dans cet exemple. Il est tout a fait possible d'indiquer une authentification avec les options de montage !

Configuration 1

Points de montage statiques:

  • /etc/auto.master (option --ghost en lenny, plus en squeeze):
/mnt/cifs/192.168.1.12/ /etc/auto.cifs.serveur --ghost
  • /etc/auto.cifs.serveur:
Dossier1		-fstype=cifs,security=none	://192.168.1.12/Dossier1
Dossier2		-fstype=cifs,security=none	://192.168.1.12/Dossier2
...

Configuration 2

Points de montage dynamiques. Avantage:

  • pas besoin de configurer si on ajoute un nouveau dossier partagé

Inconvénients:

  • problèmes de stabilité (démontage automatique?)
  • pas de dossiers "ghost"
  • /etc/auto.master:
/mnt/cifs /etc/auto.smb
  • patcher autofs.smb pour éviter de créer des points de montage quand le dossier distant n'existe pas:
--- /etc/auto.smb	2008-03-08 11:19:48.000000000 +0100
+++ /etc/auto.smb.fixed	2010-02-25 17:47:01.000000000 +0100
@@ -5,10 +5,14 @@
 # This file must be executable to work! chmod 755!
 
 key="$1"
-mountopts="-fstype=cifs"
+mountopts="-fstype=cifs,sec=none"
 smbopts=""
 credfile="/etc/auto.smb.$key"
 
+if echo $key | grep '/' > /dev/null; then
+    exit
+fi
+
 for P in /bin /sbin /usr/bin /usr/sbin
 do
 	if [ -x $P/smbclient ]
  • Accès par /mnt/cifs/I.P.du.serveur/NomDuDossier
Outils personnels