最新のLinuxディストリビューションでは、リムーバブルメディアの自動マウントがどのように機能するかについての情報を見つけることは困難です。
多くの場合、答えは編集と同じです/etc/fstab
。しかし、それらはほとんど役に立たない。
リムーバブルメディアの自動マウントがどのように機能するかを知りたいです。これにより、インストール設定とセキュリティポリシーを変更できます。たとえば、デフォルトでは、私のSDカードは次のようにマウントされます。
root:root
そして755
、だから私はそれから何も削除できません。
答え1
通常、リムーバブル機器の設置には、次の2つの部分があります。Uディスクデスクトップ環境の特定の部分(例:重力速度GNOMEの場合。
UDisksはrootとして実行され、ストレージデバイスを操作するためのDBus APIを提供するデーモンです。リムーバブルデバイスを接続すると、UDiskはDEにデバイスがあることを通知し、デバイスで何をするかを決定するのはDEの役割です。 UDiskは今すぐマウントするように指示するか、以下を介してファイルマネージャに表示できます。手動でインストールするにはクリックしてください(通常はKDEなどで設定可能)。設定->ハードウェア->リムーバブルデバイス)。
実際には追加デーモンが関係しています。ポルキット。マウントは特権のあるジョブなので、ユーザー(またはDE)はマウントなしでmount
実行できませんが、sudo
UDiskはrootとして実行され、Pollketルールセットを使用してマウント操作が許可されているかどうかを判断することで可能です。
デバイスの取り付け方法(取り付けオプション、取り付けポイントなど)を変更したい場合は、2つのオプションがあります。まず/etc/fstab
、UDiskがこれを使用するため、そこにデバイスを追加すると、ユーザーが指定したマウントポイントとマウントオプションが使用されます。 2番目は使用することです。設定可能なインストールオプション/etc/udisks2/mount_options.conf
UDisksで利用可能な機能 - UDisks構成ファイルまたはudevルールを使用して、特定のファイルシステムまたはデバイスで使用されるマウントオプションを指定できます。
答え2
通常、特定のシステム構成に応じて、最新のLinuxシステムでこれを達成する3つの方法があります。
ほとんどのディストリビューションがデフォルトで機能するように構成されている「一般的な」方法には、UDisksというDBusサービスが含まれます。これは、簡単に言うと、一般ユーザーがデバイスをインストールおよび削除できる素晴らしい権限分離システムです。デスクトップ環境および/またはファイルマネージャは、UDiskと対話してリムーバブルデバイスのリストを取得し、ユーザーが直接対話できるようにこれらのデバイスを提供します。場合によっては(オーディオCD、MTP / PTPデバイス、ネットワーク共有など)、通常はデバイスを通常のファイルシステムにレンダリングし、UDiskでレンダリングするために他のコンポーネント(GNOMEのGVFSと他のほとんどのGTK +デスクトップ、KDEのKIO)関連しています。まったく関連していない可能性があります(実際にこれを必要とするほとんどのタスクにはUDiskは含まれていません)。このように設定されたシステムでは、コマンドを使用してUDiskと手動で対話できますudisksctl
。 UDiskは通常、UDiskの特定の装置に指定されたインストール・オプションと/etc/fstab
UDiskで指定されたインストール・パスを尊重します。
最新のLinuxシステムでは、2番目に最も一般的な方法はシステムの自動マウントです。つまり、systemdはファイルシステムをマウントする必要があるパスを監視し、誰かがそのパスにアクセスしようとするとそれをマウントします。これは静的に構成されたインストールでのみ機能し、/etc/fstab
適切なオプションを入力する必要があります。またはsystemd.automount デバイス。デスクトップではあまり使用されていませんが、デスクトップがなく、定期的にリムーバブルメディアと対話するシステムでは比較的一般的です。
3番目で最も伝統的なオプションはautofsです。これはsystemd自動マウントとほぼ同じ方法で動作するユーザースペースデーモン(および関連するカーネルドライバ)ですが、systemdに欠けているいくつかの追加機能があります(特にネットワーク共有を自動的に取得できます)。構成の場所は異なりますが、systemd自動マウントと同じ一般的な制限があります。今日、これは動的に変化する大規模な共有ネットワーク、またはUDiskとsystemdがまったくないシステムにアクセスする必要があるシステムでのみ実際に使用されています。
答え3
最新のディストリビューションでは、すべてがデーモンによって処理されます。したがって、設定ファイルも自動的に生成されます。したがって、最も難しいのは、どのデーモンがシステムのどの部分を処理するのかを知ることです。
したがって、リムーバブルメディア(SDカード、USBドライブ)の自動マウントは、udisksデーモンによって管理されます。取り付けられた取り外し可能なリムーバブルメディアの検出は、以下を介して行われます。ウデブ。
新しいハードウェアを接続するたびに、カーネルはそれを通知します。ウデブ、udevはブロックデバイスを作成し、udiskに通知します。ユティカ装置を設置してください。
udiskの現在のソースコードgithubでのライブ。最新バージョンは2.9.4なので、通常はUSB 2。
SDカードにFAT32やexFATなどの認識されたファイルシステムがある場合、udisks2はデバイスラベルまたは識別名に基づくマウントポイントを使用して/mediaディレクトリ(または/run/media/または/mnt/)にマウントポイントを生成します。他の識別子の場合。次に、そのマウントポイントにSDカードをマウントします。
SDカードがマウントされると、ファイルマネージャ(UbuntuのNautilusなど)はマウントポイントを検出し、ファイルマネージャのユーザーインターフェイスにSDカードの内容を表示します。