我的主机系统 (Arch Linux) 上有一个文件夹,它与 Ubuntu VirtualBox 客户机共享。我没有使用自动挂载,而是在客户机fstab
文件中使用以下行在启动时挂载该文件夹:
sharedfolder /var/sharedfolder vboxsf rw,exec,uid=root,gid=mods,umask=0002 0 0
该文件夹已成功安装,并具有正确的所有者和组,但显示权限缺少w
该组的权限。
相关输出ls -lh
如下:
drwxr-xr-x 1 root mods 4.0K Jun 1 16:41 sharedfolder
而我希望它是:
drwxrwxr-x 1 root mods 4.0K Jun 1 16:41 sharedfolder
我特别需要属于组 mods 的任何用户对此文件夹拥有完全权限,但目前还没有发生。
我曾尝试使用chmod 775 sharedfolder
,但即使使用运行命令,权限也不会改变sudo
。
如有任何建议,我将非常感激。
答案1
如果您没有立即明白@sapphirecat 的意思......您可以将其更改/etc/fstab
为如下内容:
sharedfolder /var/sharedfolder vboxsf rw,exec,uid=root,gid=mods,dmode=775,fmode=664 0 0
我在用着:
share-loc-in-macos /var/www/html/share-loc-in-debian vboxsf defaults,uid=1000,gid=33,dmode=775,fmode=664 0 0
答案2
看来umask
,、fmask
和dmask
选项适用于默认的 VirtualBox 模式。(我使用的是 OS X 主机,并且我的文件夹以drwx------
权限(即 700)挂载。)
fmode
虽然可以使用和选项覆盖这一点dmode
,但这些将适用于全部分别对文件和目录执行权限,而不管主机上的执行位是什么。在客户机中设置和清除执行位会设置或清除主机上的执行位,但在客户机中仍始终显示为可执行文件。
我不知道有任何方法可以让执行位反映客户机中的主机文件的位。