Ubuntu

Virtual Box(Ubuntu Guest、Windows Host)下共享文件夾的文件權限問題

  • April 19, 2020

我在 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$ 

引用自:https://unix.stackexchange.com/questions/52667