我无法在 Fedora 11(主机和客户机)共享文件夹文件上设置执行权限。有人成功做到了吗?

我无法在 Fedora 11(主机和客户机)共享文件夹文件上设置执行权限。有人成功做到了吗?

我已经在 Fedora 11 (x86_64) 主机系统上设置了 VirtualBox Fedora 11 (i386) 客户机,并启用了共享文件夹。我使用推荐的“mount -t vboxsf share /shareddir -o rw,exec,uid=500,gid=100”命令成功挂载了共享文件夹。我可以从客户机成功读取和写入共享中的文件,但我无法从客户机系统设置共享中任何文件的执行位。GoogleSpace 中似乎没有任何东西可以解决我的问题,更不用说提供解决方案了。fwiw,selinux 在客户机和主机上都已禁用,共享文件夹是 ext4 文件系统。

答案1

解决方案:

  1. 挂载 VBoxGuestAdditions.iso(例如/media/cdrom0
  2. mkdir vbox && cd vbox && /media/cdrom0/VBoxLinuxAdditions.run --tar -xf
  3. 编辑module/vboxvfs/utils.c,将第 96 行更改mode |= mode_set (IXUSR);mode |= S_IXUSR;(注意添加前缀S_......基本上,始终设置可执行标志)
  4. sudo ./install.sh vfs-module
  5. cd .. && rm -rf vbox

这只会在客户机中为所有共享文件设置可执行标志(模式 700)——主机仍然始终为新创建的文件获取模式 500。希望开发人员可以做出适当的修复。(略有改进:在创建新文件时设置可执行文件,并保持文件权限同步,这样主机中的非可执行文件就不会在客户机中显示为可执行文件)

至少这让我可以在共享目录中进行开发。

相关内容