Mengapa saya perlu hak akses root untuk umount drive di baris perintah, tetapi tidak di Nautilus? Bagaimana cara mengubahnya?

24

Ketika saya memasukkan thumb drive, kartu media, atau hard drive USB, untuk melepasnya melalui baris perintah, saya perlu menggunakan:

sudo umount /media/the_device

Tapi, saya bisa melepas perangkat dalam pengelola file seperti Nautilus hanya dengan mengklik tombol eject atau menggunakan menu konteks klik kanan pada perangkat.

Apa alasan perbedaan itu? Bagaimana saya bisa mengubahnya sehingga saya bisa meng-unmount dari baris perintah tanpa memerlukan hak akses root? Apakah mengubahnya itu ide yang buruk?

Sunting: Jika terjadi perubahan, saya menjalankan 9.04. Saya sudah menjalankan sebagian besar versi 5.10-9.94, dan sejauh yang saya ingat, selalu seperti ini.

vanden
sumber
2
Huh saya tidak memikirkan itu. Aneh bukan?
DLH
Ya, dan kemudian ada gunung misteri. Saya telah mencoba untuk waktu yang lama untuk mencari tahu bagaimana nautilus menemukan dan memasang jaringan Windows lokal di mana komputer di rumah dijalankan. Saya dapat membuka folder bersama di mana saja melalui nautilus, tetapi akan sangat bagus untuk mengetahui cara menuju ke sana dari terminal.
Campadrenalin
Setiap drive jaringan di Nautilus dapat diakses di bawah ~ / .gvfs. Saya juga merekomendasikan nautilus-open-terminalplugin ini.
Marius Gedminas

Jawaban:

40

Nautilus tidak menghapus perangkat secara langsung; ia berbicara melalui DBus ke daemon sistem (udisks-daemon) dan memintanya untuk meng-unmount.

Daemon memeriksa apakah Anda diizinkan untuk melakukan itu, dengan menghubungi daemon sistem lain, PolicyKit.

PolicyKit menggunakan konfigurasi yang ditentukan dalam /usr/share/polkit-1/actions/org.freedesktop.udisks.policy(kecuali administrator sistem lokal menimpanya /etc/polkit-1). File itu memberi tahu PolicyKit bahwa pengguna dengan sesi konsol aktif dapat mengirimkan drive, sehingga PolicyKit berbicara dengan daemon ketiga, ConsoleKit, untuk melihat apakah Anda memiliki sesi konsol aktif. Masuk melalui gdm dianggap sebagai sesi konsol; masuk via ssh tidak.

Ada alat baris perintah udisksyang memungkinkan Anda melepas perangkat tanpa menggunakan sudo, menggunakan mekanisme yang sama:

udisks --unmount /dev/sdb1

yang melepas sistem file; Saya juga dapat mengirim seluruh perangkat

udisks --detach /dev/sdb

yang membuat LED pada tombol USB saya menjadi gelap.

Marius Gedminas
sumber
3
Saya ingin mengucapkan terima kasih banyak untuk memprovokasi saya dalam melakukan penelitian ini. Saya ingin alat baris perintah untuk melepas perangkat tanpa menggunakan sudo untuk waktu yang lama.
Marius Gedminas
1
Um, selamat datang untuk memprovokasi Anda agar memberikan jawaban yang sangat baik untuk pertanyaan saya. :-)
vanden
1
Hak untuk melakukan ini tidak lagi ada (pada Ubuntu 12.10) - namun jawaban di bawah ini gvfs-mountsudah berfungsi
David Fraser
9

Situasi mungkin telah berubah - di Ubuntu 10,04 umount saat ini berfungsi tanpa sudo untuk drive USB. Secara umum saya pikir itu perintahnya

gvfs-mount -u /media/the_device

(gvfs-mount ada dalam paket gvfs-bin) harus selalu berfungsi.

Marcel Stimberg
sumber
2

Jawaban saat ini sudah usang. Mencoba:

gio mount --unmount *mounted location*

dapatkan partisi yang dipasang saat ini dengan misalnya:

lsblk | grep media
Pablo A
sumber