Aaron Lauterer

Sync Linux File Permissions

I ran into the situation where I had a directory tree restored from backup but the permissions were all messed up. The directory with the corrupted files still existed and the permissions there were intact.

So the idea was to sync the permissions of the one directory tree to the other. I found the solution to my problem in this Serverfault thread.

The way this works is to read the permissions recursively with getfacl, store the result in a file, change the path with sed and then run setfacl with the file as input.

getfacl -R /path/to/dirtree > permissions.acl

sed -i s/olddir/newdir/g permissions.acl

setfacl --restore=permissions.acl

Feel free to take a look into permissions.acl before and after using sed and pay attention from where you run the commands in case you use relative paths.

Got any hints or questions? blog@aaronlauterer.com