티스토리 뷰

반응형

윈도우에서 VirtualBox 리눅스 공유폴더를 사용할 경우 종종 권한때문에 읽기/쓰기 어려움이 있습니다.

 

본인은 윈도우 호스트에서 우분투 가상머신을 설치하여 개발용으로 사용을 자주 하고있는데요,

 

여러개의 우분투 가상머신을 하나의 파일을 공유해서 사용하고자 할 때 VirtualBox 공유폴더를 주로 사용합니다.

 

그런데 이렇게 공유폴더를 지정하고 나면 특히 Docker사용시 파일 퍼미션 에러를 만나게 됩니다.

 

이유는 VirtualBox에서 공유폴더를 열어준 사용자 계정과 실제 사용하는 계정이 달라서 권한이 없기 때문에 오류가 발생되기 때문입니다.

 

 

현재 마운트되어있는 공유폴더의 소유 사용자계정과 그룹을 확인해 봅니다.

$ cd /media/
$ ll
total 8
drwxr-xr-x  3 root root   4096 10월 15 12:59 ./
drwxr-xr-x 20 root root   4096 10월  1 14:01 ../
drwxrwx---  1 root vboxsf    0 10월 15 12:53 sf_webserver/

사용자계정과 그룹이 root:vboxsf 로 되어있는 것을 확인할 수 있습니다.

 

su 계정으로 사용에는 문제가 없겠지만 일반 사용자 계정으로 사용해야 하므로 디렉토리 권한을 바꾸기 위해 마운트를 다시 할 것입니다.

 

먼저 로그인되어있는 계정의 UID와 GID를 확인합니다.

$ id
uid=1000(web) gid=1000(web) groups=1000(web),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),120(lpadmin),132(lxd),133(sambashare),134(docker),998(vboxsf)

로그인되어있는 사용자 계정명의 uid와 gid를 확인합니다. (일반적으로 1000이 할당됩니다.)

 

이제 공유폴더를 다시 마운트합니다.

$ sudo mount -t vboxsf -o remount,gid=1000,uid=1000,rw www /media/sf_webserver

sf_webserver는 공유폴더명에 맞게 수정해서 실행하면 될 것입니다.

 

잘 변경이 되었는지 확인합니다.

$ ll
total 8
drwxr-xr-x  3 root root 4096 10월 15 12:59 ./
drwxr-xr-x 20 root root 4096 10월  1 14:01 ../
drwxrwxrwx  1 web  web     0 10월 15 12:53 sf_webserver/

 

반응형