/etc/fstabにエントリがあるドライブ/パーティションのみをホワイトリストに追加するにはどうすればよいですか?

/etc/fstabにエントリがあるドライブ/パーティションのみをホワイトリストに追加するにはどうすればよいですか?

私のUbuntuシステムでは、特定のファイルマネージャは、USBポートの1つを介して接続されたドライブを開くと、ルートではなくドライブとしてマウントできることを確認しました。これが発生しないように、次のように設定しました/etc/fstab

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/vgubuntu-root /               ext4    errors=remount-ro 0       1
# /boot was on /dev/nvme0n1p3 during installation
UUID=485794d0-6773-4136-9df9-c8f97fc3c3bc /boot           ext4    defaults        0       2
# /boot/efi was on /dev/nvme0n1p2 during installation
UUID=5E62-20EC  /boot/efi       vfat    umask=0077      0       1
/dev/mapper/vgubuntu-swap_1 none            swap    sw              0       0
#/media/j/sandisk-32GB is my primary USB drive for backups
PARTUUID=d199a40a-b5cc-724b-b70b-1b90e4274ea9 /media/user_xyz/sandisk-32GB ext4 defaults,nofail 0 3

1.rootドライブ/パーティションユーザー以外のユーザーによる自動マウントまたはインストールを防ぐ方法いいえ/etc/fstab私?

2.rootホワイトリストに含まれるドライブ以外のドライブのインストールをさらに制限できますか?たとえば、設定しようとしている構成を変更しないと、root実行を試みて失敗します。mount PARTUUID=this-partition-is-not-whitelisted /media/user_xyz/not-whitelisted

ポリスチレンこの詳細PARTUUIDは、私が表現したいアイデアを伝えることだけです。正しい形式ではないことがわかっているため、rootインストールできません。私はUbuntu 22.04 LTSを使用しています。

答え1

ファイルマネージャのマウント/自動マウントは実際に完了しましたが、すべてのタスクはタスクとルール(誰が何をできるか...)を定義するudisks認証というメカニズムを経ます。polkit名前付き設定ファイルを使用してデフォルト設定を上書きできますrules
この特別な場合にアクションを呼び出します。

org.freedesktop.udisks2.filesystem-mount

このタスクのデフォルト設定は、以下で確認できます。

pkaction --verbose --action-id org.freedesktop.udisks2.filesystem-mount

次の内容を返します。

org.freedesktop.udisks2.filesystem-mount:
  description:       Mount a filesystem
  message:           Authentication is required to mount the filesystem
  vendor:            The Udisks Project
  vendor_url:        https://github.com/storaged-project/udisks
  icon:              drive-removable-media
  implicit any:      auth_admin
  implicit inactive: auth_admin
  implicit active:   yes

最後の行に示すように、activeファイルシステムのマウントに対するユーザーの暗黙的な権限はに設定されますyes。新しいルールを作成してそれを上書きできます。これはあなたにリストされているコンテンツには影響しません/etc/fstab。ファイルの作成

/etc/polkit-1/rules.d/90-disable-automount.rules

次のコンテンツが含まれています。

polkit.addRule(function(action, subject) {
               if (action.id == "org.freedesktop.udisks2.filesystem-mount" ) {
                   return polkit.Result.AUTH_ADMIN;
               }
           });

システムを再起動すると、管理者権限を持たないユーザーはドライブをマウント/自動マウントできません。管理者パスワードの入力を求められます。このプロンプトも無効にするには、AUTH_ADMIN に置き換えますNO

答え2

質問への回答1)ここで見つける:https://askubuntu.com/questions/1062719/how-do-i-disable-the-auto-mounting-of-internal-drives-in-ubuntu-or-kubuntu-18-04

デフォルトではudiks2をオフにします。

systemctl stop udisks2.service

その後、テストして永久に実行します。

systemctl mask udisks2

これにより、「一般」ユーザーがドライブを自動的にマウントするのを防ぎます。また、そのユーザーがadmまたはsudoグループに属していないことを確認する必要があります。これはまだドライブをマウントできるからです。

Marcus Müllerがコメントで指摘したように、解決策は2)私はこれが簡単なことだとは思わない。現時点では、良い答えは思い出されません(たとえば、ルートの場合にドライブをマウントできないようにするにはどうすればよいですか?)。ルートは、カーネルが起動してRAMディスクをロードするなどの方法でドライブをマウントできる必要があります。

さらに、Guntram Blohmがコメントで指摘したように、彼は次のように付け加えました。

systemctl mask udisks2

将来のシステムへの再インポートを防ぐことができます。これは「良いこと」です。

答え3

私のUSBポートの1つを介して接続されています...

したがって、インストール項目は/etc/fstabディスクを扱いますが、ホットスワップUSB経由で利用可能USBガード

RedhatのようにUbuntuでも動作するかどうかはわかりませんが、インストール/etc/usbguard/usbguard-daemon.confと必要に応じて設定する簡単な問題ですが、デフォルト値で十分です。その後、usbguardサービスを開始する前に、あなたはする必要がありますその/etc/usbguard/rules.confファイルを生成します。それ以外の場合は、キーボードやマウスを含むUSBポートで動作することが許可されていないため、電源コードを引いて再起動してから、シングルユーザーモードで起動してそれを変更する必要があります。

usbguard generate-policy > /etc/usbguard/rules.conf以前にこれを行うと、service usbguard start既存のUSBデバイスが自動的にキャプチャされ、ファイル内のデバイスを識別できますrules.conf。そのうちの1つはUSBで接続されたディスクデバイスになり、これらのデバイスはID、シリアル番号などで具体的かつ明確に識別されます。識別する。これはシステムで動作する外部USBディスクを管理し、udiskがそれを見つけてインストールする前にUSB接続レベルで管理します。

usbguardの詳細については、以下を参照してください。usbguardルールはすべてのキーボードとマウスを受け入れます

関連情報