Monday, January 18, 2010

How to fix permissions in an OS X Package and how deal with VMWare Fusion Insufficient Permission problems

In this one post I shall now solve two mysteries not currently addressed anywhere Google can find.

The first mystery is how, in Snow Leopard (10.6), to change the permissions for all the files in a Package. (Have I mentioned how much I hate the OS X/Unix permissions model?).

It's easy to change the permissions on a Package (a folder that appears in OS X to be an application), but that doesn't change the internal permissions. Unlike a folder, there's no GUI option to apply the changes to "enclosed items".

The answer is to right click on the package and choose "Show Package Contents". Inside the package, create a folder. Move everything into the folder. Apply your permissions change to "enclosed items". Move everything out and delete the folder. (Of course you should backup first.)

The second mystery is how to move an OS X VMWare image between users. In VMWare 3 this is a a Package, and every file in it has the original owner's permissions. Moving it to a the "Shared" folder doesn't change permissions - because the OS X permissions model is irretrievably broken.

Changing permissions on the Package is not enough, VMWare will report that the package cannot be opened: "Error while opening the virtual machine: Insufficient permissions to access the file ..." (The actual error message will reference on specific file in the package.)

I changed Permissions on the Package, then I used the above trick to change permissions on all the files in the Package.

That worked.

3 comments:

Anonymous said...

Thanks Gordon. Nothing on the VMWare forums anywhere seemed to solve this problem - but your post did. Cheers!

Anonymous said...

Hi Guys!
A simple fix for vm ware fusion if it is saying insufficiant permissions to open file on MAC is go to where the virtual machene is located, right click on the icon, click vshow package contents, and delete all the folders with the extension '.lck'. These are lock files that are stopping you from opening the virtual machene. Empty the trash BEFORE closing the package contents window.This solved the problem in my case

Unknown said...

Thanks! This is a simple fix for an annoying problem. VMWare should figure this out also.