web-dev-qa-db-fra.com

Pourquoi ai-je besoin de privilèges root pour démonter un lecteur en ligne de commande, mais pas dans Nautilus? Comment changer ça?

Lorsque j'insère une clé USB, une carte multimédia ou un disque dur USB pour le démonter via la ligne de commande, j'ai besoin d'utiliser:

Sudo umount /media/the_device

Cependant, je peux démonter le périphérique dans un gestionnaire de fichiers comme Nautilus en cliquant simplement sur le bouton d'éjection ou en utilisant le menu contextuel du périphérique avec le bouton droit de la souris.

Quelle est la raison de la différence? Comment puis-je le changer afin que je puisse démonter de la ligne de commande sans avoir besoin de privilèges root? Est-ce que changer cela est une mauvaise idée?

Edit: Au cas où cela aurait changé, je suis sous 9.04. J'ai exécuté la plupart des versions 5.10–9.04 et, autant que je m'en souvienne, cela a toujours été le cas.

22
vanden

Nautilus ne démonte pas l'appareil directement; il parle via DBus à un démon système (udisks-daemon) et lui demande de démonter.

Le démon vérifie si vous êtes autorisé à le faire en contactant un autre démon système, PolicyKit.

PolicyKit utilise la configuration définie dans /usr/share/polkit-1/actions/org.freedesktop.udisks.policy (sauf si l'administrateur système local la remplace dans /etc/polkit-1). Ce fichier indique à PolicyKit que les utilisateurs disposant de sessions de console actives peuvent détacher des lecteurs. C'est pourquoi PolicyKit discute avec un troisième démon, ConsoleKit, pour savoir si vous avez des sessions de console actives. La connexion via gdm compte comme une session de console. la connexion via ssh ne le fait pas.

Il existe un outil de ligne de commande udisks qui vous permet de démonter des périphériques sans utiliser Sudo, en utilisant le même mécanisme:

udisks --unmount /dev/sdb1

cela démonte le système de fichiers; Je peux aussi détacher tout l'appareil avec

udisks --detach /dev/sdb

ce qui éteint le voyant de ma clé USB.

39
Marius Gedminas

La situation a peut-être changé: dans Ubuntu 10.04 actuel, umount fonctionne sans Sudo pour les clés USB. En général, je pense que la commande

gvfs-mount -u /media/the_device

(gvfs-mount est dans le paquetage gvfs-bin) devrait toujours fonctionner.

9
Marcel Stimberg

Les réponses actuelles sont obsolètes. Essayer:

gio mount --unmount *mounted location*

récupérez les partitions montées actuelles avec par exemple:

lsblk | grep media
1
Pablo Bianchi