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