外部ディスクをマウントすると、マウントポイントディレクトリの権限が変更されます。

外部ディスクをマウントすると、マウントポイントディレクトリの権限が変更されます。

Debian 11 で外部ディスクをマウントすると、マウントポイントディレクトリの権限が変更されます。ディスクはext4

これは正常な行動ですか?

ディレクトリを作成します。

user@debian:/media$ mkdir external2
mkdir: cannot create directory ‘external2’: Permission denied
user@debian:/media$ sudo mkdir external2

所有権を確認する:

user@debian:/media$ ls -la
total 20
drwxr-xr-x  5 root root 4096 Aug 17 20:19 .
drwxr-xr-x 18 root root 4096 Jul  9 21:11 ..
drwxr-xr-x  2 root root 4096 May  4  2021 cdrom
drwxr-xr-x  2 root root 4096 Aug 12  2021 external
drwxr-xr-x  2 root root 4096 Aug 17 20:19 external2

所有権を次に変更user:

user@debian:/media$ chown -R user:user /media/external2
chown: changing ownership of '/media/external2': Operation not permitted
user@debian:/media$ sudo chown -R user:user /media/external2

所有権を確認してください。

user@debian:/media$ ls -la
total 20
drwxr-xr-x  5 root root 4096 Aug 17 20:19 .
drwxr-xr-x 18 root root 4096 Jul  9 21:11 ..
drwxr-xr-x  2 root root 4096 May  4  2021 cdrom
drwxr-xr-x  2 root root 4096 Aug 12  2021 external
drwxr-xr-x  2 user user 4096 Aug 17 20:19 external2

ハードドライブをマウントします。

user@debian:/media$ sudo mount /dev/sdb /media/external2

所有権を確認する:

user@debian:/media$ ls -la
total 20
drwxr-xr-x  5 root root 4096 Aug 17 20:19 .
drwxr-xr-x 18 root root 4096 Jul  9 21:11 ..
drwxr-xr-x  2 root root 4096 May  4  2021 cdrom
drwxr-xr-x  2 root root 4096 Aug 12  2021 external
drwxr-xr-x  2 root root 4096 Aug 12  2021 external2

編集:透明性のためにこの質問を開いておきます。しかし、関連する可能性がある別の質問があります。 奇妙なrsync動作のために送信されたファイルが削除されました

ベストアンサー1

はい、これはすべてのUnixシリーズシステムのすべてのマウントポイントで正常で予想される動作です。

外付けハードドライブをマウントすると、外付けハードドライブファイルシステムのルートディレクトリがマウントポイントディレクトリの上に配置され、マウントポイントディレクトリは新しいファイルシステムの下に「隠されます」。

外付けハードドライブファイルシステムのルートディレクトリには独自の所有権と権限があり、外付けディスクをマウントすると表示されます。なぜなら、マウントポイントとして使用されたディレクトリは表示されなくなりますが、マウントされたルートディレクトリ名が表示されるためです。ファイルシステムの。

別のファイルシステムをアンマウントすると、マウントポイントディレクトリをオーバーライドするファイルシステムのルートディレクトリがアンマウントされたため、マウントポイントディレクトリの元の権限が再表示されます。

所有権はファイルシステムをマウントするユーザーの身元を反映すると予想できますが、これはルールではなく例外です。これは、Unixスタイルの所有権と権限をサポートしていないファイルシステム(FATファミリータイプなど)、マウントポイントは通常のユーザーmountですsudo

ファイルシステムのマウントはセキュリティに大きな影響を与えるため、通常、ルート(または無制限のアクセス権を持つ人)のみがこのコマンドの完全に制限されていない形式をsudo使用できます。mountただし、root以外のユーザーは、以下をmount使用せずに許可できます。sudo 事前に指定された設置場所でのみ。これを行うには、システム管理者が最初に/etc/fstabインストールオプションまたは 。違いは次のとおりです。userusersowner

  • users:すべてのユーザーがマウント可能、すべてのユーザーがマウント解除可能
  • user:すべてのユーザーがマウントできますが、マウント解除はルートまたはファイルシステムをマウントしたユーザーのみが可能です。
  • owner:似ていますuserが、ユーザーがインストールするデバイスノードを所有する必要があるという追加の要件があります。 (これにより、ローカルログインユーザーに権限を付与するように構成されたシステムにのみホットスワップ可能なリムーバブルドライブをインストールできます。)多くのディストリビューション(Debianを含む)はサポートされていません。気に入らない。代わりに、別のリムーバブルメディアを使用してヘルパープログラムをインストールしてください(参照)udisks2man udisks

これらの事前整列マウントポイントを使用するには、ルート以外のユーザーは、マウントするmountデバイスまたはマウントポイントディレクトリのみを指定する短い形式のコマンドを使用する必要があります。すべてではありません。次に、システム管理者が指定したインストールオプションおよびその他のパラメータを適用するために、mount残りの詳細をここで照会します。/etc/fstab

他のマウントされたファイルシステムによって隠されたファイルまたはサブディレクトリにアクセスする必要がある場合は、次のように作成できます。バインドマウント親ファイルシステム(mount --bindいいえ mount --rbind) バインドマウントを介してマウントポイントディレクトリにアクセスします。

設定を使用した例です。外付けディスクのアンマウントから始めます。

sudo touch /media/external2/This_will_be_hidden_by_external_disk
ls /media/external2       # now you see it
sudo mount /dev/sdb /media/external2
ls /media/external2       # now you don't!
sudo mount --bind / /mnt
ls /mnt/media/external2   # here you will see it again!
sudo umount /mnt          # to clean up the bind mount

マウントポイントディレクトリが空でない場合、ベースシステムはsystemd起動時にファイルシステムをマウントすると警告を表示します。/etc/fstab

おすすめ記事