문제 설명:

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 {} \;