我正在尝试递归地访问chown
VirtualBox 共享文件夹,但无法使其工作:
$ ls -lah
total 16K
drwxr-xr-x 4 root root 4.0K Aug 1 2012 .
drwxr-xr-x 23 root root 4.0K Jul 21 2012 ..
drwxrwx--- 1 root vboxsf 4.0K May 4 17:02 sf_dev
drwxrwx--- 1 root vboxsf 4.0K Sep 2 10:21 sf_dropbox
$ sudo chown -R pknight:pknight sf_dropbox && ls -lah
total 16K
drwxr-xr-x 4 root root 4.0K Aug 1 2012 .
drwxr-xr-x 23 root root 4.0K Jul 21 2012 ..
drwxrwx--- 1 root vboxsf 4.0K May 4 17:02 sf_dev
drwxrwx--- 1 root vboxsf 4.0K Sep 2 10:21 sf_dropbox
我知道我可以将用户添加到 vboxsf 组(因为它具有完全权限),但我不想授予每个用户/守护进程对我的所有共享文件夹的完全权限。
我正在运行 VirtualBox 4.2.x,以 Windows 7 作为主机,以 Xubuntu 和 Debian 作为客户机。
我有什么办法可以更改 VirtualBox 共享目录的所有者/组?
答案1
VirtualBox 共享文件系统 (vboxsf) 不支持 POSIX 权限本身;相反,它们是在挂载时“设置”的:
$ mount
...
dropbox on /media/sf_dropbox type vboxsf (gid=1001,rw)
该gid
位指定拥有该目录的组;在我的系统上,这恰好与 vboxsf 组相对应。
您可以通过重新挂载来更改用户和/或组所有权(必须按如下方式完成root
):
# mount -t vboxsf -o remount,gid=1000,uid=1000,rw dropbox /media/sf_dropbox
1000
用所需的用户/组 ID 和dropbox
共享名称( 之后的部分)替换sf_
。
请注意,除非您编辑,否则每次重启后都必须执行此操作/etc/fstab
。
答案2
以下是我为获得共享文件夹表现如预期:
共享文件夹设置
主持人
添加共享文件夹
重新启动客户机。
允许软链接
VBoxManage setextradata <guest vm> VBoxInternal2/SharedFoldersEnableSymlinksCreate/<shared folder> 1
客人
更新宾客添加内容
设备 -> 插入 Guest Editions CD 映像
将所有必要的用户添加到 vboxsf 组
sudo usermod -a -G vboxsf <username>
更改权限
sudo chown -R <username>:<user group> /media/
重新启动系统。
更改所有权
sudo mount -t vboxsf -o gid=<username>,uid=<user group>,rw <share folder name> /media/sf_<share folder name>
这是相应的行/etc/fstab
:
data /media/sf_data vboxsf rw,nodev,relatime,iocharset=utf8,uid=982,gid=982 0 0
注意:我仍然无法将所有权更改为共享文件夹。
答案3
vboxsf 组对共享文件夹具有完全访问权限,因此您应该将您的用户添加到该组。
笔记:您应该在 VirtualBox 共享文件夹设置中设置“自动挂载”选项。
共享文件夹权限:
drwxrwx--- 1 root vboxsf 0 feb 9 07:41 sf
将您的用户添加到 vboxsf 组:
usermod -aG vboxsf <youruser>
重启:
sudo reboot