私のWSL2Debianディストリビューションでは、というイメージファイルを作成し、VirtDisk.img
それを仮想ブロックデバイスとして設定しました。
dd if=/dev/zero of=VirtBlock.img bs=1G count=16
16+0 records in
16+0 records out
17179869184 bytes (17 GB, 16 GiB) copied, 11.204 s, 1.5 GB/s
sudo losetup -f -P VirtDisk.img
次に、次のように3つの部分に分けて、示されているようにファイルシステムを作成します[]
。
sudo fdisk /dev/loop0
Command (m for help): p
Disk /dev/loop0: 16 GiB, 17179869184 bytes, 33554432 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x30f503f9
Device Boot Start End Sectors Size Id Type
/dev/loop0p1 2048 1050623 1048576 512M ef EFI (FAT-12/16/32) [FAT32]
/dev/loop0p2 1050624 5244927 4194304 2G 82 Linux swap / Solaris [swap]
/dev/loop0p3 5244928 33554431 28309504 13.5G 83 Linux [EXT4]
その後、それをディレクトリ/dev/loop0p1
にインストールし、それを使用してインストールディレクトリの所有者を変更しました。~/mnt
chown
sudo
しかし、プレフィックスを使用しても「操作は許可されていません」というエラーが発生します。
sudo mount /dev/loop0p1 mnt
sudo chown colorglass mnt
chown: changing ownership of 'mnt': Operation not permitted
root
代わりに、同じことをしても同じ結果が表示されます。
私のディレクトリの日付属性~/mnt
がJan 1 1970
。
ll
drwxr-xr-x 2 root root 4.0K Jan 1 1970 mnt
私は何が間違っていましたか?
答え1
FAT32ファイルシステム(EFIシステムパーティションの標準)はファイルの所有権またはUNIXスタイルの権限を保存できないため、この場合、エラーメッセージは「要求されません」を意味します。
loop0p1
にマウントされているので、実際にはファイルシステムのルートを試みます/mnt
。ファイルシステムの物理ディレクトリはルートによって「上書きされます」。ディレクトリがマウントポイントとして使用される場合、実際の権限は本質的に意味がなく、マウントされたファイルシステムのルートディレクトリ属性に代わるものです。同じ理由で、日付属性は「変更済み」です。chown
loop0p1
/mnt
loop0p3
FATxxファイルシステムの所有権/権限を変更する唯一の方法は、マウントオプションを使用することです。すべてのディレクトリに対して1セットの権限のみを設定し、マウントされたファイルシステム上のすべてのファイルに対して他の権限セットのみを設定できます。 FATxx ファイルシステムのすべてのファイルとディレクトリには同じ所有者とグループがありますが、マウントオプションを使用して所有者とグループを指定できます。