¿Por qué necesito privilegios de root para desmontar una unidad en la línea de comandos, pero no en Nautilus? ¿Cómo cambiar eso?

19

Cuando inserto una memoria USB, una tarjeta multimedia o un disco duro USB, para desmontarlo a través de la línea de comando, necesito usar:

sudo umount /media/the_device

Pero puedo desmontar el dispositivo en un administrador de archivos como Nautilus simplemente haciendo clic en el botón de expulsión o utilizando el menú contextual del botón derecho en el dispositivo.

¿Cuál es la razón de la diferencia? ¿Cómo puedo cambiarlo para poder desmontarme de la línea de comandos sin necesidad de privilegios de root? ¿Cambiarlo es una mala idea?

Editar: En caso de que haya cambiado, estoy ejecutando 9.04. He ejecutado la mayoría de las versiones 5.10--9.04, y hasta donde recuerdo, siempre ha sido así.

    
pregunta vanden 29.07.2010 - 17:04

2 respuestas

36

Nautilus no desmonta el dispositivo directamente; habla sobre DBus a un daemon del sistema (udisks-daemon) y le pide que lo desmonte.

El daemon comprueba si puede hacerlo, al contactar a otro daemon del sistema, PolicyKit.

PolicyKit usa la configuración definida en /usr/share/polkit-1/actions/org.freedesktop.udisks.policy (a menos que el administrador del sistema local lo anule en /etc/polkit-1 ). Ese archivo le dice a PolicyKit que los usuarios con sesiones de consola activas pueden desconectar las unidades, por lo que PolicyKit se comunica con un tercer daemon, ConsoleKit, para ver si tiene sesiones de consola activas. El inicio de sesión a través de gdm cuenta como una sesión de consola; el inicio de sesión a través de ssh no.

Hay una herramienta de línea de comandos udisks que le permite desmontar dispositivos sin usar sudo, usando el mismo mecanismo:

udisks --unmount /dev/sdb1

que desmonta el sistema de archivos; También puedo desconectar todo el dispositivo con

udisks --detach /dev/sdb

que hace que el LED de mi llave USB se apague.

    
respondido por el Marius Gedminas 30.07.2010 - 12:20
8

La situación podría haber cambiado, en Ubuntu 10.04 umount funciona sin sudo para unidades USB. En general, creo que el comando

gvfs-mount -u /media/the_device

(gvfs-mount está en el paquete gvfs-bin) siempre debería funcionar.

    
respondido por el Marcel Stimberg 30.07.2010 - 12:31

Lea otras preguntas en las etiquetas