it-swarm-id.com

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

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 dapat 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.

22
vanden

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 dalam /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 udisks yang 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.

39
Marius Gedminas

Situasi mungkin telah berubah - di Ubuntu 10,04 umount saat ini bekerja 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.

9
Marcel Stimberg

Jawaban saat ini sudah usang. Mencoba:

gio mount --unmount *mounted location*

dapatkan partisi yang dipasang saat ini dengan misalnya:

lsblk | grep media
1
Pablo Bianchi