Forum général.général Monter un share Samba automatiquement

Posté par  .
Étiquettes : aucune
0
18
sept.
2005
Salut,
J'ai remarqué que les shares de Samba dans fstab ne se monte pas automatiquement au démarrage. Mais j'ai cherché sur internet, mais je ne trouve pas comment faire pour qu'ils se montent sans le besoin qu'un user fasse "mount /mnt/samba".

Si quelqu'un aurait une solution...

Merci
  • # beh

    Posté par  (site web personnel) . Évalué à 2.

    normalement il faut juste s'assurer que l'option noauto ne soit pas sur la ligne adéquate du /etc/fstab
    • [^] # Re: beh

      Posté par  . Évalué à 2.

      Elle n'y ait pas aussi :

      "//Pc02-ibm1999/DATA /home/ydesma/PC02/DATA smbfs guest,uid-ydesma 0 0
      "
      • [^] # Re: beh

        Posté par  . Évalué à 1.

        Essaie :

        "//Pc02-ibm1999/DATA /home/ydesma/PC02/DATA smbfs user,user=guest,password=tonmotdepasse,uid=ydesma,gid=tonguid 0 0"
        • [^] # Re: beh

          Posté par  . Évalué à 1.

          Ce n'est pas un problème d'options (à part qu'il ne le fait pas au boot). Si je fais : mount -t smbfs -o guest,uid-ydesma //Pc02-ibm1999/DATA /home/ydesma/PC02/DATA, ça marche sans problème, donc je n'ai pas besoin de changer les options?
        • [^] # Re: beh

          Posté par  . Évalué à 1.

          Et si ça te choque de mettre ton mot de passe dans un fichier lisible par tout l'monde, tu peux le mettre dans un fichier à part et mettre ça dans ton fstab :

          //Pc02-ibm1999/DATA /home/ydesma/PC02/DATA smbfs user,credentials=/root/.credentials,uid=ydesma,gid=tonguid 0 0


          met les bons droits sur /root/.credentials, sinon ça sert a rien et va lire man smbmount si tu veux en savoir plus :)
    • [^] # Re: beh

      Posté par  (Mastodon) . Évalué à 2.

      sauf que, le montage automatique (et l'évaluation des paramètres auto/noauto) se fait largement avant l'activation du réseau, les points de montages distants ne sont donc pas montés même s'ils sont déclarés auto, il y a sur mandriva un service qui prend ça en charge, de mémoire, ça doit être netfs, sur debian, le service mountnfs.sh fait ça pour les shares nfs (je n'ai pas trouvé pour samba, mais il peut servir de base pour en écrire un).

      Sinon, tu peux regarder du côté de pam_mount, il a l'avantage de ne pas stocker les mots de passe en clair (à condition qu'ils soient identiques au mot de passe de login), de plus chaque utilisateur à ainsi ces droits à lui sur le partage, ce qui est parfois bien utile !
      • [^] # Re: beh

        Posté par  . Évalué à 1.

        Ça ne me choque pas de mettre un mot de passe dans fstab... Sauf qu'il n'y en a pas donc j'ai lu qu'il fallait mettre l'option guest.

        J'irai voir du côté de netfs ou équivalent pour samba. Merci, ce que tu as dit est logique, il fallait y penser :).

        Merci
        • [^] # Re: beh

          Posté par  . Évalué à 1.

          J'ai trouvé ça pour netfs... C'est un script bash.


          #!/bin/bash
          #
          # netfs Mount network filesystems.
          #
          # Authors: Bill Nottingham <notting@redhat.com>
          # Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>
          #
          # chkconfig: 345 25 75
          # description: Mounts and unmounts all Network File System (NFS), \
          # SMB (Lan Manager/Windows), and NCP (NetWare) mount points.

          # Source networking configuration.
          if [ ! -f /etc/sysconfig/network ]; then
          exit 0
          fi

          # Source function library.
          . /etc/rc.d/init.d/functions

          . /etc/sysconfig/network

          # Check that networking is up.
          [ ${NETWORKING} = "no" ] && exit 0

          NFSFSTAB=`grep -v '^#' /etc/fstab | awk '{ if ($3 ~ /^nfs$/ && $4 !~ /noauto/) print $2}'`
          SMBFSTAB=`grep -v '^#' /etc/fstab | awk '{ if ($3 ~ /^smbfs$/ && $4 !~ /noauto/) print $2}'`
          NCPFSTAB=`grep -v '^#' /etc/fstab | awk '{ if ($3 ~ /^ncpfs$/ && $4 !~ /noauto/) print $2}'`
          NFSMTAB=`grep -v '^#' /proc/mounts | awk '{ if ($3 ~ /^nfs$/ ) print $2}'`
          SMBMTAB=`grep -v '^#' /proc/mounts | awk '{ if ($3 ~ /^smbfs$/ ) print $2}'`
          NCPMTAB=`grep -v '^#' /proc/mounts | awk '{ if ($3 ~ /^ncpfs$/ ) print $2}'`

          # See how we were called.
          case "$1" in
          start)
          [ -n "$NFSFSTAB" ] && action "Mounting NFS filesystems" mount -a -t nfs
          [ -n "$SMBFSTAB" ] && action "Mounting SMB filesystems" mount -a -t smbfs
          [ -n "$NCPFSTAB" ] && action "Mounting NCP filesystems" mount -a -t ncpfs
          touch /var/lock/subsys/netfs
          action "Mounting other filesystems" mount -a -t nonfs,smbfs,ncpfs
          ;;
          stop)
          [ -n "$NFSMTAB" ] && {
          sig=
          retry=3
          remaining=`awk '!/^#/ && $3 ~ /^nfs/ {print $2}' /proc/mounts`
          while [ -n "$remaining" -a "$retry" -gt 0 ]
          do
          if [ "$retry" -lt 3 ]; then
          action "Unmounting NFS filesystems (retry)" umount -f -a -t nfs
          else
          action "Unmounting NFS filesystems" umount -f -a -t nfs
          fi
          sleep 2
          remaining=`awk '!/^#/ && $3 ~ /^nfs/ {print $2}' /proc/mounts`
          [ -z "$remaining" ] && break
          /sbin/fuser -k -m $sig $remaining >/dev/null
          sleep 5
          retry=$(($retry - 1))
          sig=-9
          done
          }
          [ -n "$SMBMTAB" ] && action "Unmounting SMB filesystems" umount -a -t smbfs
          [ -n "$NCPMTAB" ] && action "Unmounting NCP filesystems" umount -a -t ncpfs
          rm -f /var/lock/subsys/netfs
          ;;
          status)
          if [ -f /proc/mounts ] ; then
          [ -n "$NFSFSTAB" ] && {
          echo "Configured NFS mountpoints:"
          for fs in $NFSFSTAB; do echo $fs ; done
          }
          [ -n "$SMBFSTAB" ] && {
          echo "Configured SMB mountpoints:"
          for fs in $SMBFSTAB; do echo $fs ; done
          }
          [ -n "$NCPFSTAB" ] && {
          echo "Configured NCP mountpoints:"
          for fs in $NCPFSTAB; do echo $fs ; done
          }
          [ -n "$NFSMTAB" ] && {
          echo "Active NFS mountpoints:"
          for fs in $NFSMTAB; do echo $fs ; done
          }
          [ -n "$SMBMTAB" ] && {
          echo "Active SMB mountpoints:"
          for fs in $SMBMTAB; do echo $fs ; done
          }
          [ -n "$NCPMTAB" ] && {
          echo "Active NCP mountpoints:"
          for fs in $NCPMTAB; do echo $fs ; done
          }
          else
          echo "/proc filesystem unavailable"
          fi
          ;;
          restart)
          $0 stop
          $0 start
          ;;
          reload)
          $0 start
          ;;
          *)
          echo "Usage: netfs {start|stop|restart|reload|status}"
          exit 1
          esac

          exit 0


          Pour être honnête, je n'y comprends strictement rien... J'ai essayé de le lancer mais ça n'a fait aucun changement... Peut-être à cause que je ne sais pas trop comment le "configurer".

          Pour le moment, je peux essayer de faire un mini script Bash qui mount les points de montage Samba après le démarrage même si je n'ai aucune connaissance en script Bash.
          • [^] # Re: beh

            Posté par  (Mastodon) . Évalué à 1.

            OK, tu as netfs, c'est super cool, tu dois certainement avoir sur ta distribution un système de gestion des services, ajoutes-y netfs pour et vérifie qu'il est bien lancé après le service network(ing).
            • [^] # Re: beh

              Posté par  (Mastodon) . Évalué à 1.

              en regardant de plus prêt ton script, il semblerait que ta distribution utilise chkconfig pour la gestion des service (mandriva ou red hat ?), je te conseille donc la lecture assidue de man chkconfig afin d'effectuer la maneuvre précédente...
              • [^] # Re: beh

                Posté par  . Évalué à 1.

                C'est un script que j'ai trouvé avec Google, je n'ai pas de trouver de paquet Debian pour.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.