Hi everybody,
Today I noticed that GNU tar (git master) now supports XATTRs, ACLs
and SELINUX-Attributes. I am really pleased to read this in "git
log". Congratualtions for this improvement. The improvements do not
break star und redhat tar compatibility.
Having used Redhats patch for many years now (and an improved
version which I made), I am able to enumerate a few points that
IMHO need improvement:
(1) tar archive creation with "--numeric-owner" option:
In this case, users are expectiing that the archive does not
contain any symbolic owner name, so it can be extracted to an emoty
hard disc on a system bootet e. g. by a rescue cd from Redhat.
Current sitation is that ACLs still include the symbolic owner and
not the numeric owner.
This is quite trivial to fix:
Replace all ocurences of "val = acl_to_text(acl, &len);" by "val =
acl_to_any_text(acl, 0, ',', (
numeric_owner_option?TEXT_NUMERIC_IDS:0));" and followed by
"len=strlen(val);" after the "if (!val)" error-handling.
Effect: Numeric owner is stored.
I'd like to note that this improvement is essential to me.
(2a) tar archive creation without "--numeric-owner" option:
In GNU tar 1.26, for every file the owner is stored both, symbolic
and numeric. I would expect that ACLs are stored in both ways, too.
star shows us how to do that:
star stores the numeric owner in a forth field of an acl: (e.g.
"u:msteinbo:rwx:500").
(2b) tar extract should use the 4th field (discussed in point 2) in
presence of "-numeric-owner".
This together with point (2) enabled users to restore an backup
created without numeric owner option on a clean hard disc without
passwd entries for the users (let's assume that /etc/passwd is
contained in the archive so the operation makes sense).
I'd like to mention that this point would increase star
compatibility a lot.
Optional (3): Do not store ACLs iff ACL contains just the normal
user, group and other permissions, i. .e. the ACL is an
compatibility ACL.
What is your opinion on these points?
Greetings from Germany
Markus Steinborn
GNU gv maintainer
PS: "iff" is the usual abbreviation for "if and only if" and not a
typo.