When Shared Documents aren't

I just spent an hour helping a friend debug the strangest problem I've seen here at the Friends And Family Helpdesk.

John sent me an email asking why his Shared Documents folder had been renamed to Documents, and why he now gets Access Denied errors every time he tries to browse into it.  Through the wonders of XP's Remote Assistance feature, I was able to take control of his machine and do some investigating.

I figured I'd start by looking at the Users and Groups MMC snap-in to see what kind of account he had, and then use the Security tab on the folder to take ownership or change ACLs as needed.  As it turns out, he's running XP Home, which offers neither of these features.  But even Home includes cacls.exe, so I used that to see what was going on.

The good news, I suppose, is that everything made sense -- running cacls "c:\Documents and Settings\All Users\Documents" showed that the ACL for the folder was empty, no users had permission to do anything.  I was able to fix it by doing a "/g builtin\administrators:F /t", although I kept getting permission denied errors on some of the subfolders, and had to manually re-run the same command on them.

The bad news is that I am totally stumped as to how this could have happened. It doesn't seem like the Home UI offers any possible way to muck with folder ACLs.  I know John didn't do any hacking with cacls.  And his virus checker reports the machine is clean.  Really strange stuff.  I also couldn't figure out how to tell the shell UI to display the name as "Shared Documents" rather than just "Documents".  John told me that he recently installed Picassa 2.0 and used it to delete some of the pictures in the Shared Docs folder, but I can't imagine why Picassa would ever get invovled in changing ACLs.

I guess there's no real point to this post other than to say wow, that was a strange problem.

[Update: it seems my friend has not been the only person to get into this state: https://support.microsoft.com/default.aspx?scid=kb;en-us;813649&Product=PlusDig]