web-dev-qa-db-fra.com

Comment désactiver USB Automount dans Xubuntu 14.04

Dans Xubuntu 14.04, j'ai essayé de désactiver USB Automount en créant les deux fichiers suivants, tels qu'ils se trouvent ici: Empêchez un périphérique USB spécifique de monter automatiquement et de redémarrer:

/lib/udev/unmount.sh

#!/bin/bash
udisks --unmount /dev/sdn1
udisks --detach /dev/sdn

/etc/udev/rules.d/100-unmount-usb.rules

ACTION=="add", ATTRS{idVendor}=="xxxx", ATTRS{idProduct}=="yyyy", RUN+="/lib/udev/unmount.sh"

Cela n'a pas fonctionné, j'ai donc créé un autre fichier, tel que trouvé ici https://unix.stackexchange.com/questions/85061/automount-not-dotabling-in-ubuntu-12-04 -ou-13-04

/etc/udev/rules.d/85-no-automount.rules

SUBSYSTEM=="usb", ENV{UDISKS_AUTO}="0"

Après le redémarrage de l'USB toujours monté automatiquement.

J'ai ensuite installé l'utilitaire gnome-disk-utility, qui a été installé, mais aucune icône de lancement n'a été créée et la saisie de 'gnome-disk-utility' n'est pas reconnue. Je ne vois pas comment le lancer. Je remarque que gnome-system-tools est installé - Mais encore une fois, je ne sais pas comment commencer.

3
Don Smythe

Pour udisks2:

Si udisks2 est utilisé, les actions suivantes sont nécessaires pour ne pas monter automatiquement un périphérique. Premièrement, vous devez obtenir des informations sur le périphérique pour écrire une règle udev. Démontez le périphérique, devenez root via

Sudo su

puis lancez cette commande:

udevadm monitor --environment --udev

Après cela, branchez le périphérique à l'ordinateur. Maintenant, vous pouvez voir les informations relatives à l'appareil. Ce dont vous avez besoin, c'est ENV {ID_VENDOR} et ENV {ID_FS_UUID} . En particulier, ID_FS_UUID est important car il s’agit d’une valeur unique pour le périphérique. presse ctrl+c pour sortir d'udevadm.

Ensuite, lancez la commande suivante pour obtenir les informations dont vous avez besoin

udevadm info -a -p $(udevadm info -q path -n /dev/sdX)

Remplacez/dev/sdX par votre lecteur. Recherchez les valeurs ATTRS {idVendor} et ATTRS {idProduct} . Vous avez besoin des valeurs DU SOUS-SYSTÈME ET DU PILOTE pour spécifier le périphérique bloquer cette règle sera appliquée et ENV {UDISKS_AUTO} = "0" pour que le périphérique ne puisse pas être monté automatiquement. Si vous obtenez toutes les informations dont vous avez besoin, il est temps d'écrire udev rule. Ouvrez un nouveau fichier de règles:

Sudo -H gedit /etc/udev/rules.d/10-noautomount.rules

Et écrivez l'information que vous avez eue:

SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{idVendor}=="3538"
ATTRS{idProduct}=="0070"
ENV{ID_VENDOR}=="PQI"
ENV{ID_FS_UUID}=="1A5AFC1F427754BF"
ENV{UDISKS_AUTO}="0"

Enregistrez le fichier et fermez-le. Une règle du répertoire /etc/dev/rules.d/ a la priorité la plus élevée. En écrivant la règle dans ce répertoire, nous éviterons tout problème susceptible de l’entraver.

Maintenant, vous pouvez tester votre règle pour voir si elle fonctionne ou non. Tout d'abord, vous devez apprendre "devpath" de l'appareil. Vous verrez des lignes dans la sortie de

udevadm info -a -p $(udevadm info -q path -n /dev/sdX)

commande similaire à cette ligne:

looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5...'

Certains d'entre eux sont très longs et ne vous sont pas utiles. Vous devez couper cette ligne à un degré qui est utile pour vous. Pour savoir où couper, exécutez cette commande:

dmesg | grep usb

Vous verrez des lignes relatives au périphérique similaires à ces lignes:

usb 2-1.5: new high-speed USB device number 15 using ehci-pci
usb 2-1.5: New USB device found, idVendor=3538, idProduct=0070
usb 2-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 2-1.5: Product: PQI USB Flash drive
usb 2-1.5: Manufacturer: PQI
usb 2-1.5: SerialNumber: XQVBW9KR
usb-storage 2-1.5:1.0: USB Mass Storage device detected

Faites attention à la valeur après usb one (2-1.5). Il montre que le chemin de votre appareil et où couper. Donc "devpath" de cet appareil est

/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5

Vous pouvez maintenant tester la nouvelle règle udev en exécutant cette commande:

udevadm test /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1-1.5

Vers la fin de la sortie de la commande ci-dessus, si vous voyez la ligne

UDISKS_AUTO=0

cela signifie que votre nouvelle règle fonctionne. Pour appliquer la nouvelle règle, vous devez recharger les règles udev en

udevadm control --reload

Si cela ne fonctionne pas, lancez

udevadm trigger

Ensuite, vous pouvez voir où la nouvelle règle fonctionne ou non en débranchant le périphérique et en le rebranchant. Votre appareil apparaîtra dans Unity Launcher comme ceci:

enter image description here

Dans mon cas, "nd" est le périphérique auquel la règle udev no-automount est appliquée. Si j'appuie sur l'icône du périphérique, celui-ci sera monté.

Pour les udisks

Si udisks est en cours d'utilisation, vous pouvez utiliser ENV {UDISKS_PRESENTATION_NOPOLICY} = "0" pour rendre le périphérique non automountable. Étant donné que mon système (Ubuntu 15.04) n’utilise pas d’udisks, je ne peux pas donner d’instructions spécifiques, mais le processus est similaire. Écrivez une nouvelle règle udev dans le répertoire /etc/udev/rules.d/ pour votre périphérique avec les valeurs que vous obtenez ci-dessus et ajoutez ENV {UDISKS_PRESENTATION_NOPOLICY} = "0" à la place de ENV {UDISKS_AUTO} = "0".

J'espère que cette réponse vous aidera.

3
numand

copié de https://unix.stackexchange.com/a/536545/302588 :

# /etc/udev/rules.d/99-noautomount.rules
ENV{UDISKS_PRESENTATION_HIDE}="1"
ENV{UDISKS_PRESENTATION_NOPOLICY}="1"
ENV{UDISKS_AUTOMOUNT_HINT}="never"
ENV{UDISKS_SYSTEM_INTERNAL}="1"
ENV{UDISKS_IGNORE}="1"
ENV{UDISKS_AUTO}="0"

https://www.systutorials.com/docs/linux/man/7-udisks/ :

UDISKS_PRESENTATION_HIDE
  If set to 1 this is a hint to presentation level software that the device should not be shown to the user.

UDISKS_PRESENTATION_NOPOLICY
  If set to 1 this is a hint to presentation level software that the device should not be automounted or autoassembled (for e.g. components of a multi-disk device).

UDISKS_AUTOMOUNT_HINT
  A variable to influence whether a device should be automounted. Possible values include "always" (to hint that a device should always be automounted) and "never" (to hint that a device should never be automounted). Note that this is only a hint - the auto-mounter might not honor it.

UDISKS_SYSTEM_INTERNAL
  If set, this will override the usual bus type based detection of whether a device is considered "system internal". "0" means "removable" (i. e. eligible for automounting, and normal users can mount), any other value means "system internal" (i. e. no automounting, and only administrators can mount).

https://www.systutorials.com/docs/linux/man/8-udisks/ :

UDISKS_IGNORE
  If set, this overrides the value of the HintIgnore property.

UDISKS_AUTO
  If set, this overrides the value of the HintAuto property.
0
Atila Romero