![如何更改 VMWare 共享文件夹的挂载 Linux 目录所有者?](https://linux22.com/image/1530697/%E5%A6%82%E4%BD%95%E6%9B%B4%E6%94%B9%20VMWare%20%E5%85%B1%E4%BA%AB%E6%96%87%E4%BB%B6%E5%A4%B9%E7%9A%84%E6%8C%82%E8%BD%BD%20Linux%20%E7%9B%AE%E5%BD%95%E6%89%80%E6%9C%89%E8%80%85%EF%BC%9F.png)
我的主机操作系统是Windows 10,我的虚拟机是Ubuntu Mate 16。
虚拟机版本是12.5。
挂载路径如下:/mnt/hgfs/{我的共享文件夹}。
并且它被设置为'根' 默认用户/组。我想将其更改为 'www-数据“”。
问题是,互联网上提出的所有方法都无法改变共享文件夹的所有权。显然,最新版本中他们做了一些改变。
这些是我迄今为止尝试过的:
- 在下面 '等/init.d“我编辑了”VMware 工具s'文件:
# 挂载所有 hgfs 文件系统 vmware_mount_vmhgfs() { 如果 [ “is_vmhgfs_mounted” = “no” ]; 然后 如果 [ “`vmware_vmhgfs_use_fuse`” = “yes” ]; 然后 mkdir -p $vmhgfs_mnt vmware_exec_selinux“$vmdb_answer_BINDIR/vmhgfs-fuse\ -o 子类型=vmhgfs-fuse,allow_other,uid=33,gid=33 $vmhgfs_mnt” 别的 vmware_exec_selinux “安装-t vmhgfs .host:/$vmhgfs_mnt -o uid=33,gid=33” 菲 菲 }
尝试直接编辑'/etc/fstab' 并且操作系统不再启动到 GUI,我不得不从命令行删除该行。
.host:/{shared-folder} /{path-to-mount-on} vmhgfs
默认值,ttl=5,uid=33,gid=33 0 0手动卸载并重新挂载路径、使用 chown 或 chmod 等简单的尝试都是无用的,因为系统会立即恢复相应的更改。还尝试使用以下命令进行挂载:
vmhgfs-fuse .host://mnt/hgfs -o uid=1000 -o gid=1000 -o umask=0033
对此有任何更新的解决方案吗?
答案1
感谢您的帖子。我最近也遇到了同样的问题。
我的主机操作系统是 MacOS,我的虚拟机是 Debian GNU/Linux 9(测试版)。VMWare 版本是 Fusion 8.5。挂载路径如下:/mnt/hgfs/{mysharedfolder}。
我以前的解决方案是编辑 /etc/fstab,将 uid、gid 设置为第二个选项中所示的值。这个方法一直没有问题,直到一个月前,在一次常规的 debian 端更新之后。然后虚拟机就无法启动了。所以我还必须从 /etc/fstab 中删除该行。
接下来,我将 vmware 升级到 Fusion 8.5,并将 Debian 从稳定版升级到测试版。问题依然存在。如果我使用最新的 VMware 工具 (10.1.6),共享文件会在启动时挂载,但 uid、gid 错误。如果我改用 open-vm-tools(debian 软件包,vmware 推荐),共享文件甚至不会挂载。
我刚刚尝试了您的第一个解决方案(编辑 /etc/init.d/vmware-tools)。这对我有用。谢谢!
如果它对你不起作用,也许 ubuntu 在启动时没有运行该脚本。
如果您在命令行尝试此行(或类似内容)是否有效?
sudo vmhgfs-fuse .host:/{名称} /mnt/hgfs/{名称} -o nonempty,rw,uid=1000,gid=1000
需要使用 -o nonempty 来尝试挂载系统已挂载的共享。我认为您不想使用此命令作为解决方案,而只是想诊断它是否会成功更改您的 uid、gid。如果可以,您可能需要找出 ubuntu 在启动时实际使用的脚本。如果该命令不起作用,不知道该建议什么。我无法让 mount 命令起作用。