Virtual Box(Ubuntu Guest、Windows Host)下共享文件夾的文件權限問題
我在 Virtual Box 上使用 Ubuntu,並且我有一個在主機 (Windows) 和 VM (Ubuntu) 之間共享的文件夾。當我在 Ubuntu 的共享文件夾中打開任何文件時,我無法更改它,因為它的所有者設置為 root。
如何將所有權更改為自己?
這是輸出
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 中的選項是 automount 並且 readoly 沒有被選中。
嘗試使用
/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)
現在訪問文件的正常方法是允許 VirtualBox 自動掛載共享文件夾(這將使其顯示在 下
/media/sf_directory_name
),然後將您的正常 Ubuntu 使用者添加到vboxsf
組中(作為 root#
)。# 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
您需要重新啟動 VM 才能使這些更改生效
如果您手動掛載共享文件夾,則需要使用
mount
命令上的相關選項來設置文件夾的正確所有權(即 gid、uid 和 umask 選項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$