パスワードを要求せずにパーティションをマウントできないようにすることで、同じ物理 HDD (レイアウト: gpt) 上の異なるファイル システムを持つ他のパーティションへのアクセスをブロックしようとしています。
FSTAB はパスワード付きのマウントの使用を処理します。FSTAB にない場合は、パスワードが必要になります。
Nautilus と udisks の場合、次のような ENV{UDISKS_ コマンドを設定する udev を試していました。
KERNEL=="sda10", ENV{UDISKS_PRESENTATION_NOPOLICY}="1", ENV{UDISKS_SYSTEM_INTERNAL}="1"
ENVが追加されていることを確認しました。
udevadm info --name="/dev/sda10" --query=all
しかし、これによって、(gksudo 以外の) Nautilus または udisks がクリックされたときにパーティションをマウントするのを阻止できないようです。
試行時にパスワードを要求するようにしたいと思います。ここで指定されているとおりです。
http://manpages.ubuntu.com/manpages/precise/man7/udisks.7.html
設定されている場合、デバイスが「システム内部」であるかどうかの通常のバス タイプ ベースの検出が上書きされます。「0」は「取り外し可能」(つまり、自動マウントの対象であり、通常のユーザーがマウントできます) を意味し、その他の値は「システム内部」(つまり、自動マウントされず、管理者のみがマウントできます) を意味します。
前もって感謝します。
PSこれとは対照的に
カーネル =="sda10", ENV{UDISKS_PRESENTATION_HIDE}="1"
Nautilus がデバイス セクションでパーティションを表示するのを止めます。ただし、非表示にしても udisks がそれをマウントするのを止めることはできないでしょう (試していません)。
答え1
解決策はRedditにあります:Ubuntu ではどのようにして認証なしで内部ブロック デバイスのマウントを許可するのでしょうか?
ところで、私は linuxmint-mate 19.1 (tessa) と 18.3 (Sylvia) を使用しています。どちらも Ubuntu Bionic パッケージに基づく LTS リリースです。Ubuntu 自体ではテストしていません。
ファイルをルートとして開き/var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla
、次の行を変更します。
Action=org.freedesktop.udisks.filesystem-*;org.freedesktop.udisks.drive-ata-smart*;org.freedesktop.udisks2.filesystem-mount-system;org.freedesktop.udisks2.encrypted-unlock-system;org.freedesktop.udisks2.filesystem-fstab;
これに対して:
Action=org.freedesktop.udisks.filesystem-*;org.freedesktop.udisks.drive-ata-smart*;org.freedesktop.udisks2.encrypted-unlock-system;org.freedesktop.udisks2.filesystem-fstab;
ご覧のとおり、行のこの部分を削除するだけです。
org.freedesktop.udisks2.filesystem-mount-system;
したがって、Caja でパーティションをマウントする要求ごとに、マウントするための認証要求ウィンドウが開きます。
再起動したり、ユーザー セッションを終了したりする必要もありません。
私の場合は完璧に動作します。
答え2
PolicyKit/polkit
ルールを直接編集するのではなく、ルールを使用してこれが可能になるはずだと思いますudev
。
12.04 では、デフォルトでマウントが許可されます。
user@precise:~$ pkaction --verbose --action-id org.freedesktop.udisks.filesystem-mount
org.freedesktop.udisks.filesystem-mount:
description: Mount a device
message: Authentication is required to mount the device
vendor: The udisks Project
vendor_url: http://udisks.freedesktop.org/
icon: drive-removable-media
implicit any: no
implicit inactive: no
implicit active: yes
これを上書きし ( を参照)、このアクションを実行するために認証を要求するローカル ルールを作成することもできます。次の内容を含むman pklocalauthority
、たとえば次のような名前のファイルを作成します。/etc/polkit-1/localauthority.conf.d/50-disable-automount.pkla
[Disable automount]
Identity=unix-user:*
Action=org.freedesktop.udisks.filesystem-mount
ResultAny=auth_admin
ResultInactive=auth_admin
ResultActive=auth_admin
さらに詳細を調査する必要があるかもしれません (たとえば、org.freedesktop.udisks.filesystem-mount-system-internal
USB スティックではなくローカル ハード ディスクにのみ適用されると思われる、より具体的なアクションがあり、最近入力したパスワードで十分かどうかに応じて、 または のいずれかを選択できます) auth_admin
。auth_admin_keep
私はポリシーキットのセマンティクスの一部を完全には理解していませんし、ドキュメントも少し不足しているようですので、少し試してみる必要があるかもしれませんが、これが正しい方法だと思います。ここUbuntu でのアクションのデフォルトのポリシーキット権限。