X

Inherited ACL bug resulting in Finder Error -41

A bug involving how the Finder handles Access Control Lists may result in an Error -41 message when files and folders are copied.

Topher Kessler MacFixIt Editor
Topher, an avid Mac user for the past 15 years, has been a contributing author to MacFixIt since the spring of 2008. One of his passions is troubleshooting Mac problems and making the best use of Macs and Apple hardware at home and in the workplace.
Topher Kessler
3 min read

OS X Snow Leopard has an ongoing bug when handling inherited Access Control Lists (ACLs) for files, which results in an Error -41 message in the Finder when copying files. As outlined on the tech blog Brunerd, the error happens because the Finder applies numerous copies of inherited ACLs to a file when that file is copied into or within a directory hierarchy that has inherited ACLs in the directory structure.

This error will happen if the Access Control List propagation bug gets out of hand.

ACLs are elaborate file permissions rules. In OS X when you get information on a file you can see a list of users and combinations of "read" and "write" or "no access" as options for limiting access to the file. These are the basic rules that have been around for years, but they do not really give full control over files. For instance, you might want someone to be able to read the contents of a folder and add files to it, but not to make new folders within it. ACLs provide a number of new rules in addition to the basic permissions that allow for these more complex types of limitations.

One feature of ACLs is that rules can be inherited, meaning that if you want all future additions to a folder to get a specific permissions setting, you can set it to be inherited and then any child files or folders you move or copy into the parent folder will gain the ACL permissions of the parent.

What all this ultimately means is that when you copy or move files in OS X, the system may be managing a number of hidden permissions settings for your files and folders. The bug that some people are currently experiencing has to do with the Finder incorrectly handling inherited ACLs: instead of merely copying them as-is to the child files and folders in a parent directory, the Finder copies multiple instances of the same rules. This results in a permissions mess for the copied files, and the Finder's copying process gets muddled and throws an error.

If a parent folder contains inherited ACLs, then files within it that are copied or duplicated will get multiple copies of the inherited ACLs, ultimately resulting in a Finder error. As you can see here, subsequent copies of a folder with ACLs resulted in propagation of ACLs (click for larger view).

While OS X supports ACLs on files and folders, these are applied under the hood, and the Finder does not show details about them. As a result, while you may see evidence of ACLs on files by getting information on them in the Finder, you will likely not see specifics about what the ACLs are allowing or denying. When identifying ACLs in the Finder, at most you may see multiple users associated with a file, and you might see Custom in the privileges list, though sometimes you may only see the standard Read or Write permissions even though there are a number of other rules set for that entry.

The only workaround for this problem so far is to remove the ACLs on the particular folder that you are copying your file to (or the parent folder that you are copying files within), which will prevent ACL problems altogether. This does have the drawback that any desired ACL permissions will no longer be applied to the folder tree, but it will allow you to copy the files you want. To do this, open the Terminal and type the following command, followed by a single space:

sudo chmod -R -N

Once this is typed, drag the parent destination folder to the Terminal window and the full path for the folder should complete in the Terminal window. Then press Return, supply your password, and when the command completes try copying your files again.

Some people may wonder about any adverse effects of ACL permissions being removed, but for the most part this will not matter unless you are altering system folders, folders directly within your Home directory (such as Documents, Movies, or Music), or folders on a remote server that are using ACLs to control permissions (though you will not be able to change these from your system).



Questions? Comments? Have a fix? Post them below or e-mail us!
Be sure to check us out on Twitter and the CNET Mac forums.