The default mount options for shared folders in VMWare fusion are less than ideal. You may have run into an obscure issue such as PHP Parse error: syntax error, unexpected 'x' in /mnt/hgfs/… or other permission issues. When listing a mounted folder directory, you will see the uid and gid as 501 and dialup (20), which is your mac user and staff group:
drwxr-xr-x 1 501 dialup 748 Oct 4 17:41 . drwxr-xr-x 1 501 dialup 442 Sep 19 12:14 .. drwxr-xr-x 1 501 dialup 510 Oct 4 17:41 application drwxr-xr-x 1 501 dialup 136 Jun 24 21:19 cirt drwxr-xr-x 1 501 dialup 272 Apr 11 22:03 classes3p
This can be resolved by fixing the VMWare Tools script which mounts the shares. Follow these steps:
- sudo vim /etc/vmware-tools/services.sh
- locate the
vmware_mount_vmhgfsfunction - Set the appropriate uid and gid. We'll use 1000, as Ubuntu assigns these to the first user / group:
-o uid=1000,gid=1000to the mount command:vmware_exec_selinux "mount -t vmhgfs .host:/ $vmhgfs_mnt -o uid=1000,gid=1000" - Save the file and reboot your VM
The alternative is to run the following sed command. It will modify the services.sh script in place, also creating a backup:
sed --in-place=.bak 's/vmware_exec_selinux "mount -t vmhgfs .host:\/ \$vmhgfs_mnt"/vmware_exec_selinux "mount -t vmhgfs .host:\/ \$vmhgfs_mnt -o uid=1000,gid=1000"/1' /etc/vmware-tools/services.sh
2 comments:
On wmvare fusion 5.0 with Debian 7.0 I had to change "/etc/init.d/vmware-tools" instead of "/etc/vmware-tools/services.sh" which does not exists.
But this did not fix the problem for me, still need to do "touch app/cache/*/*.php" on a Symfony2 application.
But I mapped the UID to my console account, did not try mapping it to www-data.
@André, I ended up creating an NFS share via OS X and mounting this. Much faster and more reliable.
Post a Comment