Perché ho bisogno dei privilegi di root per smontare un'unità alla riga di comando, ma non in Nautilus? Come cambiarlo?

19

Quando inserisco una pen drive, una scheda di memoria o un disco rigido USB, per smontarla tramite la riga di comando, devo usare:

sudo umount /media/the_device

Tuttavia, posso smontare il dispositivo in un file manager come Nautilus semplicemente facendo clic sul pulsante di espulsione o utilizzando il menu di scelta rapida del dispositivo con il pulsante destro del mouse.

Qual è la motivazione della differenza? Come posso cambiarlo in modo che possa smontare dalla riga di comando senza richiedere i privilegi di root? Cambiarlo è una cattiva idea?

Modifica: Nel caso in cui sia stato modificato, eseguo 9.04. Ho eseguito la maggior parte delle versioni 5.10--9.04 e, per quanto ricordo, è sempre stato così.

    
posta vanden 29.07.2010 - 19:04
fonte

2 risposte

36

Nautilus non smonta direttamente il dispositivo; parla su DBus con un demone di sistema (udisks-daemon) e chiede di smontarlo.

Il demone controlla se sei autorizzato a farlo, contattando un altro demone di sistema, PolicyKit.

PolicyKit utilizza la configurazione definita in /usr/share/polkit-1/actions/org.freedesktop.udisks.policy (a meno che l'amministratore di sistema locale non la sovrascriva in /etc/polkit-1 ). Quel file dice a PolicyKit che gli utenti con sessioni di console attive possono detatchare le unità, quindi PolicyKit parla con un terzo daemon, ConsoleKit, per vedere se ci sono sessioni di console attive. L'accesso tramite gdm conta come una sessione della console; l'accesso tramite ssh non lo fa.

C'è uno strumento da riga di comando udisks che ti permette di smontare i dispositivi senza usare sudo, usando lo stesso meccanismo:

udisks --unmount /dev/sdb1

che smonta il filesystem; Posso anche scoprire l'intero dispositivo con

udisks --detach /dev/sdb

che fa sì che il LED sulla mia chiavetta USB si oscuri.

    
risposta data Marius Gedminas 30.07.2010 - 14:20
fonte
8

La situazione potrebbe essere cambiata - nell'attuale Ubuntu 10.04 umount funziona senza sudo per le unità USB. Generalmente penso che il comando

gvfs-mount -u /media/the_device

(gvfs-mount è nel pacchetto gvfs-bin) dovrebbe sempre funzionare.

    
risposta data Marcel Stimberg 30.07.2010 - 14:31
fonte

Leggi altre domande sui tag