尽管用户属于 vboxsf 组,但她无法在 VirtualBox 客户机中看到共享文件夹

尽管用户属于 vboxsf 组,但她无法在 VirtualBox 客户机中看到共享文件夹

我正在使用 Virtualbox。我在 Windows 主机上有一个 NixOS 客户机。我将用户添加到vboxsf组中,然后重新启动機器。

$ groups                                                                                                                                                                         
users wheel vboxsf                                                                                                                                                                           

我可以以 root 身份访问共享文件夹,但不能以非 root 用户身份访问。

$ ls /media/sf_VMShare
ls: cannot access '/media/sf_VMShare': Permission denied                                                                                                                                     
$ sudo ls /media/sf_VMShare                                                                                                                                                      
<directory listing...>

挂载点的所有权似乎是正确的。

$ sudo umount /media/sf_VMShare                                                                                                                                                  
$ sudo ls -l /media
total 4
drwxrwx--- 2 amy vboxsf 4096 Nov 22 17:38 sf_VMShare

我已经看到了这个问题作为 vboxsf 组成员访问 VirtualBox 共享文件夹时权限被拒绝,并且已经尝试了接受的答案,但没有成功。

编辑:随着驱动器安装...

$ sudo ls -ld /media/sf_VMShare
drwxrwx--- 1 root vboxsf 0 Nov 21 15:31 /media/sf_VMShare

答案1

Unix 和 Linux SE 上有这个问题:访问子目录时父目录的权限是否重要?答案是肯定的,它们确实很重要。

确切的规则是:当且仅当您对目录具有执行权限时,您才可以遍历该目录。

例如,要访问dir/subdir/file,您需要执行权限,dir并且dir/subdir[...]

我猜想,在你的情况下,用户可能/media首先无法遍历(或者在理论上甚至无法遍历/,但这会带来其他明显的问题)。 现有的权限可能是有原因的,因此在更改权限之前请三思。如果可能,/media另一种方法是在其他地方安装。sf_VMShare

答案2

对我来说,使用 VirtualBox 6.0 更简单

  1. 我已将我的用户添加到 vboxfs 组
sudo usermod -aG vboxsf $(whoami)
  1. 重启虚拟机

测试

  • 通过 /media/imac 在主机上创建外部磁盘共享
abkrim@imail:~$ ls -lisah /media/
total 12K
8193 4.0K drwxr-xr-x  3 root root   4.0K Aug 23 19:44 .
   2 4.0K drwxr-xr-x 24 root root   4.0K Aug 23 18:42 ..
   1 4.0K drwxrwx---  1 root vboxsf 4.0K Aug 11 11:02 imac
abkrim@imail:~$ ls -lisah /media/imac/
total 374G
   1 4.0K drwxrwx--- 1 root vboxsf 4.0K Aug 11 11:02 .
8193 4.0K drwxr-xr-x 3 root root   4.0K Aug 23 19:44 ..
  17 374G -rwxrwx--- 1 root vboxsf 374G Aug 12 19:00 iMac-2019-05-24-124025.tar.bz2
abkrim@imail:~$ touch /media/imac/deleteme
abkrim@imail:~$ ls -lisah /media/imac/
total 374G
   1 4.0K drwxrwx--- 1 root vboxsf 4.0K Aug 23 19:44 .
8193 4.0K drwxr-xr-x 3 root root   4.0K Aug 23 19:44 ..
  18    0 -rwxrwx--- 1 root vboxsf    0 Aug 23 19:44 deleteme
  17 374G -rwxrwx--- 1 root vboxsf 374G Aug 12 19:00 iMac-2019-05-24-124025.tar.bz2

完美运行。

但在我的系统中,selinux 是禁用的。在我看来,对于肯定用于开发或内部使用的虚拟机,默认启用 selinux 是没有多大意义的。这有点偏执

abkrim@imail:~$ sestatus
SELinux status:                 disabled

相关内容