[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Montage automatique d'un USB et permissions



Bonjour


Le Mardi 12 Août 2014 15:56 CEST, RHATAY Sami <rhatay.e1302636@etud.univ-ubs.fr> a écrit:

> Bonjour,
>
> Le 12/08/2014 12:22, daniel huhardeaux a écrit :
> >
> > Ton utilisateur ne doit pas être dans le groupe qui monte les

> > périphériques automatiquement. Je crois que c'est plugdev.
> >
>
> La commande 'groups sam' me renvoie ceci :
> sam : sam dialout cdrom floppy sudo audio dip video plugdev scanner
> bluetooth netdev
>
> Donc je suis bien dans le groupe plugdev :-)

Si ça peut t'aider, voici ce que je me suis fait pour réoudre ce type de pb:


Dans /etc/udev/rules.d/99-removables_devices_nb.rules (à créer)

ENV{ID_BUS}=="usb", ENV{SUBSYSTEM}=="block", ENV{ID_FS_TYPE}!="", ENV{ID_USB_DRIVER}=="usb-storage", ENV{DEVTYPE}=="partition", RUN+="/usr/local/bin/udev_nb.sh %k"
ENV{ID_BUS}=="memstick", ENV{DEVTYPE}=="partition", RUN+="/usr/local/bin/udev_nb.sh %k"
ENV{ID_TYPE}=="disk", ENV{ID_BUS}=="ata", ENV{SUBSYSTEM}=="block", ENV{ID_FS_TYPE}!="", ENV{DEVTYPE}=="partition", RUN+="/usr/local/bin/udev_nb.sh %k"

Dans /usr/local/bin/udev_nb.sh :

#!/bin/bash

K=$1
moi="nb"

droits=""
case "$ID_FS_TYPE" in
  vfat)
    fstype="$ID_FS_TYPE"
    droits="-o uid=$moi,gid=$moi,async "
    ;;
  ext3|ext4)
    fstype="$ID_FS_TYPE,async"
    ;;
  exfat)
#    fstype="exfat-fuse"
    fstype="exfat"
    droits="-o uid=$moi,gid=$moi,async "
    ;;
  ntfs)
    fstype="ntfs-3g"
    droits="-o uid=$moi,gid=$moi,async "
    ;;
  *)
    logger "$0 - ID_FS_TYPE=\"$ID_FS_TYPE\" inconnu (a ajouter?)"
    exit
esac

if [ "$ID_FS_LABEL" != "" ]
then
  mtnpnt=/media/$ID_FS_LABEL
else
  mtnpnt=/media/$K
fi

case "$ACTION" in
  add|change)
    if [ "$ID_FS_TYPE" != "" ]
    then
      command_mount="mount -t $fstype $droits $DEVNAME $mtnpnt"
      umount $mtnpnt || rmdir $mtnpnt || mkdir $mtnpnt && $command_mount
      logger "montage : $command_mount"
    fi
    ;;
  remove)
    umount $mtnpnt
    rmdir $mtnpnt
    ;;
esac

Pour info j'ai remplacé exfat-fuse par exfat car sur sid ça ne fonctionne pas pour moi
La commande logger permet d'avoir dans la syslog ce qui a été exécuté.
Ce sont là tous les types de fs que j'ai utilisés. Tu peux adapter le script à d'autres types de fs
Il faudra bien sûr remplacer "nb" par "sam"

J'espère que ça pourra t'aider.

nb



Reply to: