내WSL2데비안 배포판에서는 라는 이미지 파일을 만들고 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
그런 다음 이를 다음과 같이 세 부분으로 나누고 표시된 대로 파일 시스템을 만듭니다 []
.
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 파일 시스템에서 소유권/권한을 변경하는 유일한 방법은 마운트 옵션을 사용하는 것입니다. 모든 디렉터리에 대해 한 세트의 권한만 설정할 수 있고 마운트된 파일 시스템의 모든 파일에 대해 다른 권한 세트만 설정할 수 있습니다. FATxx 파일 시스템의 모든 파일과 디렉토리에는 동일한 소유자와 그룹이 있지만 마운트 옵션을 사용하여 소유자와 그룹을 지정할 수 있습니다.