문제 설명:
WSL에서 Windows의 폴더를 마운트할 때, 파일 권한이 기본적으로 755로 설정되는 문제 발생. Windows에서 파일을 복사하면 755 권한으로 설정되고, WSL에서는 644로 설정됨.
해결 방법:
- WSL의 설정 파일인 /etc/wsl.conf를 수정하여 마운트 시 기본 권한을 설정.
/etc/wsl.conf 파일 수정:
[automount]
#options = "metadata,umask=000"
options = "metadata,uid=1000,gid=1000,umask=022"
- 설정 후 WSL을 재시작
> wsl --shutdown
Git 설정 변경:
- 특정 리포지토리에서만 core.fileMode를 false로 설정하여 파일 권한 변경을 무시하도록 설정.
- 리포지토리 디렉토리에서 다음 명령어 실행: bash
git config core.fileMode false # 설정
git config --get core.fileMode # 확인
- 또는 .git/config 파일을 직접 수정하여 [core] 섹션에 fileMode = false 추가.
파일 권한 일괄 변경 스크립트:
- 파일을 복사한 후 권한을 일괄적으로 변경하는 스크립트를 작성하여 사용.
#!/bin/bash
find /mnt/c/path/to/your/folder -type f -exec chmod 644 {} \;