Nautilusではなく、コマンドラインでドライブをアンマウントするためにルート権限が必要なのはなぜですか?それを変更するには?


24

サムドライブ、メディアカード、またはUSBハードドライブを挿入して、コマンドラインからアンマウントするには、次を使用する必要があります。

sudo umount /media/the_device

ただし、イジェクトボタンをクリックするか、デバイスの右クリックコンテキストメニューを使用するだけで、Nautilusなどのファイルマネージャーでデバイスをアンマウントできます。

違いの理由は何ですか?ルート権限を必要とせずにコマンドラインからマウント解除できるように変更するにはどうすればよいですか?変更するのは悪い考えですか?

編集:変更された場合、9.04を実行しています。私はほとんどのバージョン5.10--9.04を実行しましたが、思い出す限り、これは常にこの方法でした。


2
私はそれを考えていませんでした。それは奇妙ですよね?
DLH

ええ、それからミステリーマウントがあります。私は長い間、nautilusが家のコンピューターが実行されているローカルWindowsネットワークをどのように見つけてマウントするかを理解しようとしてきました。私はnautilusを介してどこの共有フォルダにもアクセスできますが、ターミナルからそこに到達する方法を知るのは本当に気の利いたことでしょう。
カンパドレナリン

Nautilusのネットワークドライブには、〜/ .gvfsでアクセスできます。また、nautilus-open-terminalプラグインをお勧めします。
マリウスゲドミナス

回答:


40

Nautilusはデバイスを直接アンマウントしません。DBusを介してシステムデーモン(udisks-daemon)と通信し、アンマウントするように要求します。

デーモンは、別のシステムデーモンPolicyKitにアクセスすることにより、許可されているかどうかを確認します。

PolicyKitはで定義された構成を使用します/usr/share/polkit-1/actions/org.freedesktop.udisks.policy(ローカルシステム管理者がでオーバーライドしない限り/etc/polkit-1)。このファイルは、アクティブなコンソールセッションを持つユーザーがドライブを切り離すことができることをPolicyKitに伝えるため、PolicyKitは3番目のデーモンConsoleKitと通信して、アクティブなコンソールセッションがあるかどうかを確認します。gdm経由でログインすると、コンソールセッションとしてカウントされます。sshを介してログインすることはできません。

udisks同じメカニズムを使用して、sudoを使用せずにデバイスをマウント解除できるコマンドラインツールがあります。

udisks --unmount /dev/sdb1

ファイルシステムをアンマウントします。デバイス全体を切り離すこともできます

udisks --detach /dev/sdb

USBキーのLEDが消灯します。


3
この研究を私に促してくれたことに感謝します。長い間sudoを使用せずにデバイスをマウント解除するコマンドラインツールが必要でした。
マリウスゲドミナス

1
ええと、私の質問に本当に良い答えをするようにあなたを挑発してくれたことを歓迎します。:-)
ヴァンデン

1
これを行う権利はもはや存在しません(Ubuntu 12.10以降)-ただし、以下の答えはgvfs-mount現在有効です
デビッドフレイザー

9

状況は変わったかもしれません-現在のUbuntu 10.04では、umountはUSBドライブのsudoなしで動作します。一般的に、コマンドは

gvfs-mount -u /media/the_device

(gvfs-mountはgvfs-binパッケージにあります)常に機能するはずです。


2

現在の回答は非推奨です。試してください:

gio mount --unmount *mounted location*

たとえば、現在マウントされているパーティションを取得します。

lsblk | grep media
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.