RE: git archive setting user and group
From: Jason Pyeron <hidden>
Date: 2021-01-22 22:53:09
From: Junio C Hamano Sent: Friday, January 22, 2021 5:29 PM René Scharfe [off-list ref] writes:quoted
Am 22.01.21 um 21:40 schrieb Jason Pyeron: ...quoted
xsnprintf(header->uid, sizeof(header->uid), "%07o", 0); xsnprintf(header->gid, sizeof(header->gid), "%07o", 0); strlcpy(header->uname, "root", sizeof(header->uname)); strlcpy(header->gname, "root", sizeof(header->gname));Adding support for using a custom user and group should be easy. Is this just a cosmetic thing? Regular users would ignore the user info in the archive, and root should not be used for extracting, and on systems that don't have a logwatch user this wouldn't make a difference anyway, right?I am not particularly interested in cosmetics, but it probably is OK to make uname/gname overridable. I do not see any point in uid/gid numeric values overridable, though. Just like user names and group
Interesting. So logwatch(0) vs logwatch(1100) ? I guess it is as good as any value, but tar never uses 0. On a system without the logwatch user/group tar behaves as follows: $ tar czf /tmp/logwatch.tgz --owner=logwatch --group=logwatch . $ tar tvzf /tmp/logwatch.tgz | head -n 1 drwxrwxr-x logwatch/logwatch 0 2020-03-14 15:01 ./ $ tar tvzf /tmp/logwatch.tgz --numeric-owner | head -n 1 drwxrwxr-x 1049681/1049088 0 2020-03-14 15:01 ./ $ id uid=1049681(myuser) gid=1049088(mygroup) groups=no one cares... but when the user / group is known... $ tar czf /tmp/logwatch.tgz --owner=Guest --group=Users . $ tar tvzf /tmp/logwatch.tgz | head -n 1 drwxrwxr-x Guest/Users 0 2020-03-14 15:01 ./ $ tar tvzf /tmp/logwatch.tgz --numeric-owner | head -n 1 drwxrwxr-x 1049077/545 0 2020-03-14 15:01 ./ $ getent passwd Guest | cut -f 3 -d : 1049077 $ getent group Users | cut -f 3 -d : 545
names do not name the same user and group on every machine, uid/gid are even less so.