이러한 변경 사항을 적용하려면 가상 머신을 다시 시작해야 합니다.

이러한 변경 사항을 적용하려면 가상 머신을 다시 시작해야 합니다.

저는 Virtual Box에서 Ubuntu를 사용하고 있으며 호스트(Windows)와 VM(Ubuntu) 간에 폴더를 공유하고 있습니다. Ubuntu의 공유 폴더에 있는 파일을 열면 소유자가 루트로 설정되어 있으므로 파일을 변경할 수 없습니다.

소유권을 나 자신으로 변경하려면 어떻게 해야 하나요?

출력은 다음과 같습니다 ls -l.

-rwxrwxrwx 1 root root 0 2012-10-05 19:17 BuildNotes.txt

출력은 df다음과 같습니다

m@m-Linux:~/Desktop/vbox_shared$ df
Filesystem   1K-blocks      Used Available Use% Mounted on
/dev/sda1     29640780  10209652  17925440  37% /
none            509032       260    508772   1% /dev
none            513252       168    513084   1% /dev/shm
none            513252        88    513164   1% /var/run
none            513252         0    513252   0% /var/lock
none            513252         0    513252   0% /lib/init/rw
Ubuntu       214153212  31893804 182259408  15% /media/sf_Ubuntu
/dev/sr0         53914     53914         0 100% /media/VBOXADDITIONS_4.2.0_80737
Ubuntu       214153212  31893804 182259408  15% /home/m/Desktop/vbox_shared

VM의 옵션은 자동 마운트이며, 이는 읽기 전용으로 선택 취소되어 있습니다.

을(를 ) 사용해 보았지만 /media/sf_Ubuntu권한 오류가 발생했습니다.

m@m-Linux:/media$ ls -l 
total 10
drwxrwx--- 1 root vboxsf 4096 2012-10-23 15:35 sf_Ubuntu
drwxrwx--- 2 root vboxsf 4096 2012-10-21 23:41 sf_vbox_shared
dr-xr-xr-x 6 m    m      2048 2012-09-13 07:19 VBOXADDITIONS_4.2.0_80737
m@m-Linux:/media$ cd sf_Ubuntu/
bash: cd: sf_Ubuntu/: Permission denied
m@m-Linux:/media$ cd sf_vbox_shared/
bash: cd: sf_vbox_shared/: Permission denied

저는 다음 그룹에 속해 있습니다 vboxsf.

m@m-Linux:~$ id
uid=1000(m) gid=1000(m) groups=4(adm),20(dialout),24(cdrom),46(plugdev),105(lpadmin),119(admin),122(sambashare),1000(m),1001(vboxsf)

답변1

이제 파일에 액세스하는 일반적인 방법은 VirtualBox가 공유 폴더를 자동 마운트하도록 허용한 다음(이렇게 하면 아래에 표시됨 /media/sf_directory_name) 일반 Ubuntu 사용자를 vboxsf그룹에 루트로 추가하는 것 #입니다.

# usermod -aG vboxsf <youruser>

기본적으로 수동 작업이 필요하지 않으며 마운트는 다음과 같습니다.

drwxrwx--- 1 root vboxsf 40960 Oct 23 10:42 sf_<name>

따라서 vboxsf그룹은 전체 액세스 권한을 갖습니다. 이 그룹에 사용자를 추가하면 전체 액세스 권한을 얻게 됩니다. 따라서 권한 변경(Windows 호스트에서는 의미가 없음)에 대해 걱정할 필요 없이 자신에게 액세스 권한을 부여하면 됩니다.

이 특정한 경우에는 자동으로 마운트된 공유 폴더입니다.

Ubuntu               214153212  31893804 182259408  15% /media/sf_Ubuntu

로컬 사용자를 그룹에 추가하면 해당 디렉터리를 사용하여 공유 폴더에 액세스해야 합니다 vboxsf. 사용자의 홈 디렉토리 아래에 "더 나은" 링크를 원한다면 언제든지 심볼릭 링크를 만들 수 있습니다.

ln -s /media/sf_Ubuntu /home/m/Desktop/vbox_shared

이러한 변경 사항을 적용하려면 가상 머신을 다시 시작해야 합니다.

공유 폴더를 수동으로 마운트하는 경우 명령의 관련 옵션 (즉, gid, uid 및 umask 옵션 ) 을 사용하여 mount폴더의 올바른 소유권을 설정 해야 합니다. mount이는 호스트 운영 체제가 Linux와 동일한 권한 시스템을 지원하지 않기 때문에 VirtualBox는 누가 파일을 소유해야 하는지 알 수 없기 때문입니다.

하지만 나는공유 폴더만 자동으로 마운트되도록 구성하는 것이 좋습니다.(이는 VirtualBox 자체의 공유 폴더 구성 설정입니다.)


의심의 여지를 없애기 위해 해당 파일 시스템에 대한 권한을 정상적으로 변경할 수 있다고 믿지 않습니다(일반적인 방법으로 마운트된 경우).

tony@jabba:/media/sf_name$ ls -l tst.txt
-rwxrwx--- 1 root vboxsf 2283 Apr  4  2012 tst.txt
tony@jabba:/media/sf_name$ sudo chown tony tst.txt
[sudo] password for tony: 
tony@jabba:/media/sf_name$ ls -l tst.txt
-rwxrwx--- 1 root vboxsf 2283 Apr  4  2012 tst.txt
tony@jabba:/media/sf_name$ 

답변2

루트가 아닌 Linux 사용자를 위해 Ubuntu 게스트에서 Windows 호스트의 공유 폴더에 대한 전체 읽기, 쓰기 액세스를 활성화합니다.

이 단계를 통해 Linux 게스트 터미널에서 Windows 호스트의 디렉터리에 액세스할 수 있습니다. 이 예에서 OVB 관점에서 공유 이름은 vshare(기본값)이고 Windows OS(호스트 OS)의 전체 디렉터리 경로는 "C:\var\"이며 전체 파일은 경로는 게스트 VM에서 액세스하려면 "/vagrant"입니다. 마지막으로 전체 읽기/쓰기 액세스가 가능한 사용자 이름은 "귀하"입니다.

 # how-to add a shared folder on the host
 VBoxManage sharedfolder add "host-name" -name "vshare" -hostpath "C:\var" -automount

1. 게스트 추가에 필요한 구성요소를 설치합니다.

다음 명령을 실행하여 게스트 추가 필수 구성 요소를 설치합니다.

 sudo apt-get install -y build-essential make gcc  linux-headers-$(uname -r) 
 linux-headers-generic make linux-source  linux-generic linux-signed-generic

2. 게스트 추가 설치

.iso 파일을 사용하여 설치 프로그램을 다운로드하고 실행하지 마세요. 전혀 작동하지 않습니다!

sudo apt-get install virtualbox-guest-dkms 

3. 시작 시 공유를 자동으로 마운트합니다.

/etc/fstab 파일 끝에 다음 줄을 추가하여 vm이 시작될 때 공유가 자동으로 마운트되도록 구성합니다("vshare" conf 및 uid=10001 참고).

/media/sf_vshare /vagrant vboxsf bind,uid=10001,rw,umask=0000 0 0
# eof file: /etc/fstab 

4. vboxsf 그룹에 자신을 추가하세요

# mount
sudo mount -a

sudo usermod -G vboxsf -a you 

5. 재부팅 및 확인

가상 머신을 다시 시작하고 SSH를 통해 로그인하여 파일 공유를 확인합니다.

# ssh to the vm
ssh you@host-name

# check as yourself that you have access
find /vagrant

답변3

내 Win-Ubuntu 공유 폴더에서도 동일한 문제가 발생했습니다. 이 문제를 해결한 방법은 내 사용자를 vboxsf 그룹에 추가하고 /etc/group 파일을 편집하는 것이었습니다. 이것이 당신에게 유용하길 바랍니다. 여기에서 파일 편집 방법에 대한 간단한 계획을 찾을 수 있습니다.

(edit /etc/group)
...
...
...
pulse:x:119:
pulse-access:x:120:
utempter:x:121:
rtkit:x:122:
saned:x:123:
openquake:x:1000:
sambashare:x:124:openquake,luisa
vboxsf:x:999:openquake,luisa   ##This is the line I add my user
postgres:x:125:
rabbitmq:x:126:
celery:x:500:
luisa:x:1001:

루이자.

답변4

sudo를 사용해 보셨나요?

$sudo chown username filename

관련 정보