我需要 vmhgfs 可供 root 用户和 www-data 用户访问。
作为 root,我vmhgfs-fuse .host:/ /mnt/hgfs/
在 rc.local 中运行命令
但是,网络服务器无法读取共享文件夹。所以我检查了它的许可,
www-data@ubuntu16:~$ ls /mnt/ -lh
ls: cannot access '/mnt/hgfs': Permission denied
total 0
d????????? ? ? ? ? ? hgfs
www-data@ubuntu16:~$
(/mnt 的权限为 777)
我不知道发生了什么事。看起来像是内核问题。它在 Ubuntu 14.04 中从未发生过,现在在 16.04 和内核中4.4.0-21-generic
,它变成了这样。
PS 如果我使用帐户安装 hgfs www-data
,则可以由 访问www-data
,但不能由 root 用户访问。
答案1
解决。使用allow_other
选项授予访问权限
vmhgfs-fuse -o allow_other .host:/ /mnt/hgfs
答案2
要添加到雏菊的回答:
如果您希望此更改在重新启动后继续存在,请将其放入您的/etc/fstab
文件中,例如
.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,defaults 0 0
答案3
如果您在 macOS Big Sur(运行 VMware Fusion 12)或更高版本以及 Ubuntu 18.x+ 上尝试此操作,请务必从以下位置查看新的配置选项vmhgfs-fuse
:
vmhgfs-fuse --help
并/etc/fstab
相应地设置你的:
sudo vmhgfs-fuse -o allow_other,default_permissions,uid=1000,gid=1000 .host:/ /mnt/hgfs
然而由于某种原因,fstab
重新启动后未正确设置权限(可能被 中找到的配置覆盖/etc/systemd/system/mnt-hgfs.mount
)。
因此,一旦我修改了文件/etc/systemd/system/mnt-hgfs.mount
并Options
在部分中添加了参数Mount
,重新启动后一切正常。
[Unit]
Description=VMware mount for hgfs
DefaultDependencies=no
Before=umount.target
ConditionVirtualization=vmware
After=sys-fs-fuse-connections.mount
[Mount]
What=vmhgfs-fuse
Where=/mnt/hgfs
Type=fuse
Options=default_permissions,allow_other,uid=1000,gid=1000
[Install]
WantedBy=multi-user.target