Why are saving ACL and extended attributes "off" by default?

Asked by David Arnstein

In the Expert Options tab of the options dialog, I find two options
* Preserve ACL
* Preserve extended attributes

These two options default to disabled. Why is this? Are there are disadvantages to using these options?

Question information

Language:
English Edit question
Status:
Solved
For:
Back In Time Edit question
Assignee:
No assignee Edit question
Solved by:
Germar
Solved:
Last query:
Last reply:
Revision history for this message
Best Germar (germar) said :
#1

Some filesystems doesn't support ACL's. 'Preserve ACL' uses rsync with '-A' and 'Preserve extended attributes' uses '-X'.

This is from 'man rsync':
-A, --acls
This option causes rsync to update the destination ACLs to be the same as the source ACLs. The option also implies --perms.

The source and destination systems must have compatible ACL entries for this option to work properly. See the --fake-super option for a way to backup and restore ACLs that are not compatible.

-X, --xattrs
This option causes rsync to update the destination extended attributes to be the same as the source ones.

For systems that support extended-attribute namespaces, a copy being done by a super-user copies all namespaces except system.*. A normal user only copies the user.* namespace. To be able to backup and restore non-user namespaces as a normal user, see the --fake-super option.

Note that this option does not copy rsyncs special xattr values (e.g. those used by --fake-super) unless you repeat the option (e.g. -XX). This "copy all xattrs" mode cannot be used with --fake-super.

Revision history for this message
David Arnstein (arnstein) said :
#2

Thanks. I will use these options when source and destination file systems are the same.

Revision history for this message
Vassilis Palassopoulos (palasso) said :
#3

So if I understood properly, since I'm using linux and have ext4 both on source and destination enabling ACLs and xattr works better. But I am a bit confused if this relates to full rsync mode.

Reading this answer https://answers.launchpad.net/backintime/+question/235685

if I understood it properly, the file fileinfo.bz2 keeps stored separately the permissions in order to apply them in restore (which I found it inefficient after using it and I'd be interested in keeping the permissions on the files with the restore doing simple copying of the data) unless full rsync mode is enabled.

In 1.0.10 I don't see a full rsync mode option, only ACLs and xattr on Expert Options.

So if I enable ACLs and xattr it means it will keep on fileinfo.bz2 the ACLs of the folders but not of the files which are going to preserve permissions?

Should I enable ACLs and xattr and full rsync mode?

Revision history for this message
Germar (germar) said :
#4

I've only minimal knowledge of ACL and xattr. So, please consider this carefully.
Enabling ACLs and xattr is only necessary if you use them on your system. For example if you have a corporate fileserver on which you are using Windows like permissions (multiple users and groups with different permissions). You can show them with 'getfacl' and change them with 'setfacl'.
If you only use standard Unix permissions (User/Group/Other, rwxrwxrwx, chown/chmod) there is no need to enable this.

There is no direct link between ACLs/xattr and 'Full rsync mode'.
- Standard behaviour ('Full rsync mode' disabled) is to ignore Unix user/group and change them to current user/group. Directories are set to user executable and all files and folders will loose write-permissions for user/group/other. There is an extra routine that will save all Unix permissions into fileinfo.bz2 after rsync finished. This was made to support most common destination filesystems (NTFS, Windows/Samba/Cifs share)
- with enabled 'Full rsync mode' the Unix permissions are untouched. Files will still be writeable if the original was writeable and user/group is perserved, too. Only directories will add user executable.
- in both cases ACL and xattr are handled by rsync (if enabled) and so they are stored with the file itself as long as the dest. filesystem support them.

'Full rsync mode' was added by Dan in release 1.0.18 or 20. So there is nothing like this in 1.0.10. I'd recommend upgrading BIT to current release (1.0.26) from PPA as there are lots of new features (ssh transfer and encrypted backups, full rsync mode) and use 'Full rsync mode' as it is really fast. Activate ACL and xattr only if you know you are using them on your system.