요새 노트북이 오락가락해서 윈도우 데스크톱을 이용하고 있는데 아직 windows 환경에 익숙하지가 않아 불편한 점이 많습니다. ㅜㅜ
문제 상황
windows에서 ssh를 이용해 ec2에 접속하려고 하는데, putty보다는 터미널을 이용해 접속하는 것이 편해 pem 파일을 이용해 접속을 시도했습니다.
키 페어를 생성할 때 기본적으로 접근권한이 모두 열려 있기 때문에 pem을 이용해 접근하려 하면 키가 너무 열려 있기 때문에 사용할 수 없다는 에러가 발생합니다. chmod를 이용해도 접근 권한이 정상적으로 변경되지 않는 에러가 있었습니다.
문제를 해결하기 위해서는 먼저 WSL의 파일 시스템에 대해 알아야 합니다.
WSL의 파일 시스템
WSL은 두 가지 파일 시스템을 사용합니다.
- WSL 자체 파일 시스템 (Linux 파일 시스템)
- WSL에서 기본적으로 제공하는 루트 파일 시스템
- ext4.vhdx 가상 디스크 파일에 저장되며, ext4 파일 시스템을 기반으로 동작
- 리눅스 파일 권한 및 속성을 정상적으로 지원
- Windows 파일 시스템 (DrvFs)
- WSL에서 Windows 파일 시스템을 /mnt 아래에 마운트
- DrvFs 파일 시스템을 사용하며, NTFS나 FAT32 같은 windows의 파일 시스템을 WSL에서 접근하도록 변환
- DrvFS는 Linux 파일 권한을 완전히 지원하지 않음
해결
문제는 WSL을 통해 마운트된 windows 파일 시스템에 저장된 파일의 권한을 변경하려고 시도했기 때문에 발생했습니다. 의도한대로 chmod를 이용해 접근 권한을 수정하기 위해서는 DrvFs의 마운트 옵션을 변경해야 합니다.
DrvFS 마운트 옵션
- metadata : 파일 권한과 소유권 정보 저장
- uid, gid : 파일의 소유자와 그룹 설정
- umask : 새로 생성되는 파일과 디렉토리 기본 권한 설정
- fmask : 파일에 대한 권한 마스크 설정
- case : 대소문자 구분 여부 설정
/etc/wsl.conf
아래와 같이 wsl 설정 파일에 내용을 추가하여 설정을 적용할 수 있습니다.
[automount]
enable = true
options = "metadata,uid=1000,gid=1000,umask=022,fmask=11"
현재 파일 권한에 대한 정보가 정상적으로 적용되지 않기 때문에 metadata만을 추가할 수 있습니다.
[automount]
enable = true
options = "metadata"
참고자료
https://learn.microsoft.com/en-us/windows/wsl/wsl2-mount-disk
'Error Log' 카테고리의 다른 글
[Error Log] Mac(Apple Silicon)에서 Lambda용 Docker 이미지 빌드시 겪은 문제와 해결 과정 (0) | 2025.07.14 |
---|