Question: I have a file somewhere on the hard drive and I would like to make sure it is only accessed by a particular program and not

* backed up by Time Machine
* copied by the Versions feature of OS X 10.7
* in any other way copied by the system - unless the user explicitly does so i.e. by copying it to an other directory.

Is it possible to do this programmatically in Objective-C or C?

Answer: 
This is quite old now but I thought I'd provide an update for anyone else who encounters the problem.

Unfortunately, Sitecore support weren't able to help beyond pointing out that setting the addAspxExtension attribute to 'true' in the link provider seemed to solve the problem. This may have been acceptable except that extensionless URLs were important to the customer.

In the end I had to amend my link provider so that addAspxExtension is set to 'true' in the web config, and then I set it to false inside the GetItemUrl method for specified sites only. 

So now whenever the context site is 'Shell' or 'Admin' etc, the extensions are added by default, but switched off in my main website.

Of course, this is a work around. I still don't know how to actually *fix* the problem
So the first thing that I am going to tell you is that I suspect that there is something wrong with your site declaration for Sitecore Modules. In your web.config, there's a site declaration for "modules\_shell" and "modules\_website". Those are where the code files that run the modules are usually located... a shell folder to run the parts that run in the Sitecore shell and a web folder to run the part that is accessed by the externally facing site. Please check your site declarations (and the form.config file) to make sure that you're not in live mode or something like that. I would definitely say that this is where you should start looking. 

The next thing is to say that your comments about Sitecore not serving a url in the /sitecore/shell directory is really not surprising. Sitecore processes all requests unless you specifically tell it to ignore requests (like setting it in the IgnoreUrlPrefixes in web.config), it's going to try processing it. Like going to /sitecore/shell/applications gives me a layout error because it doesn't have anything set to handle that request. Now your error suggests that there is something wrong with Site declarations.. however, even if they were all right, it still wouldn't work.