오잉 ssh 접속하려고 private key의 권한을 400으로 변경해 주려 하는데 변경되지 않는다.

gain@LAPTOP-NGE5O25S:/mnt/c/Users/User/Downloads$ ll myk8s.pem
	-rwxrwxrwx 1 gain gain 1678 May 27 14:59 myk8s.pem*
gain@LAPTOP-NGE5O25S:/mnt/c/Users/User/Downloads$ chmod 400 myk8s.pem 
gain@LAPTOP-NGE5O25S:/mnt/c/Users/User/Downloads$ ll myk8s.pem
	-r-xr-xr-x 1 gain gain 1678 May 27 14:59 myk8s.pem*

그래서 찾아 보니 이전에는 wsl에서 chmodchown으로 파일/디렉토리의 소유자를 변경하지 못했다고 한다. 하지만 지금은 추가 설정만 해 주면 wsl에서도 정상적으로 동작한다.

아래 두 가지 방법이 있다.

1. mount

gain@LAPTOP-NGE5O25S:/mnt/c/Users/User/Downloads$ sudo umount /mnt/c
	[sudo] password for gain: 
	umount: /mnt/c: target is busy.
gain@LAPTOP-NGE5O25S:/mnt/c/Users/User/Downloads$ sudo mount -t drvfs C: /mnt/c -o metadata
gain@LAPTOP-NGE5O25S:/mnt/c/Users/User/Downloads$ mount -l | grep "/mnt/c"
	C:\ on /mnt/c type 9p (rw,noatime,dirsync,aname=drvfs;path=C:\;uid=1000;gid=1000;symlinkroot=/mnt/,mmap,access=client,msize=65536,trans=fd,rfd=8,wfd=8)
	C: on /mnt/c type 9p (rw,relatime,dirsync,aname=drvfs;path=C:;metadata;symlinkroot=/mnt/,mmap,access=client,msize=65536,trans=fd,rfd=3,wfd=3)
  • mount -l로 마운트 정보를 확인해 보면 위는 기존 정보고 아래는 새롭게 적용된 정보이다. 아래에는 metadata가 탑재된 걸 확인할 수 있다.

2. wsl.cont 수정

gain@LAPTOP-NGE5O25S:/mnt/c/Users/User/Downloads$ sudo vi /etc/wsl.conf
gain@LAPTOP-NGE5O25S:/mnt/c/Users/User/Downloads$ cat /etc/wsl.conf
	[automount]
	options = "metadata"

gain@LAPTOP-NGE5O25S:/mnt/c/Users/User/Downloads$ exit
//restart
gain@LAPTOP-NGE5O25S:/mnt/c/Users/User/Downloads$ ll myk8s.pem
	-rwxrwxrwx 1 gain gain 1678 May 27 14:59 myk8s.pem*
gain@LAPTOP-NGE5O25S:/mnt/c/Users/User/Downloads$ chmod 400 myk8s.pem 
gain@LAPTOP-NGE5O25S:/mnt/c/Users/User/Downloads$ ll myk8s.pem                            
	-r-------- 1 gain gain 1678 May 27 14:59 myk8s.pem



두 방법 모두 metadata를 추가로 탑재해준 것인데 첫 번째 방법은 restart하지 않고 확인했더니 제대로 동작하지 않아 나는 두 번째 방법으로 진행했다.

두 번째 방법은 적용하고 나서 restart해 주었다. 지금 생각해 보면 첫 번째 방법도 restart하고 나서 테스트해 봤으면 동작했을 거 같다! ㅎㅎ

  • 아래는 Microsoft의 docs 내용이다

    WSL에서 metadata를 탑재 옵션으로 사용하도록 설정된 경우 Windows NT 파일에 대한 확장 특성을 추가하고 해석하여 Linux 파일 시스템 권한을 제공할 수 있습니다.

    참고 ) WSL에 대한 파일 권한

Leave a comment