[Bug 2015539] [NEW] `numeric-owner` doesn't apply to ACL entries
Piotr Ćobacz
2015539 at bugs.launchpad.net
Fri Apr 7 09:41:03 UTC 2023
Public bug reported:
1) The release of Ubuntu you are using
Description: Ubuntu 22.04.2 LTS
Release: 22.04
2) The version of the package you are using
tar:
Installed: 1.34+dfsg-1ubuntu0.1.22.04.1
Candidate: 1.34+dfsg-1ubuntu0.1.22.04.1
Version table:
*** 1.34+dfsg-1ubuntu0.1.22.04.1 500
500 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages
100 /var/lib/dpkg/status
1.34+dfsg-1build3 500
500 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages
3,4) What you expected to happen and what happened instead
ACL entries store references to numeric uids/gids. on platforms that have libacl, use `acl_to_any_text` to generate ACL strings that preserve those numeric identifiers if `numeric-owner` is set (instead of doing a conversion to user/group name, like the acl_to_text function does).
reproducer (similar ones exist where a user/group of the stored name
exists, but has a different numeric identifier):
system A with user foo with uid 1001
system B with no user foo
file with ACL referencing uid 1001 on system A
on A:
$ echo 'bar' > file
$ setfacl -m u:foo:r file
$ tar --acls --xattrs --numeric-owner -cf test.tar file
$ tar -vv --acls --xattrs -tf test.tar
expected output:
-rw-r--r--+ 0/0 4 2022-01-26 14:32 file
a: user::rw-,user:1001:r--,group::r--,mask::r--,other::r--
actual output:
-rw-r--r--+ 0/0 4 2022-01-26 14:32 file
a: user::rw-,user:fakeuser:r--,group::r--,mask::r--,other::r--
on B:
$ tar --acls --xattrs -xf test.tar
$ getfacl -n file
expected output (extraction) - none
expected output (getfacl):
# file: file
# owner: 0
# group: 0
user::rw-
user:1001:r--
group::r--
other::r--
actual output (extraction):
tar: file: Warning: Cannot acl_from_text: Invalid argument
actual output (getfacl) - note the missing user entry:
# file: file
# owner: 0
# group: 0
user::rw-
group::r--
other::r--
** Affects: tar (Ubuntu)
Importance: Undecided
Status: New
** Patch added: "Extend numeric owner to ACL-entries"
https://bugs.launchpad.net/bugs/2015539/+attachment/5661900/+files/0001-extend-numeric-owner-to-ACL-entries.patch
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to tar in Ubuntu.
https://bugs.launchpad.net/bugs/2015539
Title:
`numeric-owner` doesn't apply to ACL entries
Status in tar package in Ubuntu:
New
Bug description:
1) The release of Ubuntu you are using
Description: Ubuntu 22.04.2 LTS
Release: 22.04
2) The version of the package you are using
tar:
Installed: 1.34+dfsg-1ubuntu0.1.22.04.1
Candidate: 1.34+dfsg-1ubuntu0.1.22.04.1
Version table:
*** 1.34+dfsg-1ubuntu0.1.22.04.1 500
500 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages
100 /var/lib/dpkg/status
1.34+dfsg-1build3 500
500 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages
3,4) What you expected to happen and what happened instead
ACL entries store references to numeric uids/gids. on platforms that have libacl, use `acl_to_any_text` to generate ACL strings that preserve those numeric identifiers if `numeric-owner` is set (instead of doing a conversion to user/group name, like the acl_to_text function does).
reproducer (similar ones exist where a user/group of the stored name
exists, but has a different numeric identifier):
system A with user foo with uid 1001
system B with no user foo
file with ACL referencing uid 1001 on system A
on A:
$ echo 'bar' > file
$ setfacl -m u:foo:r file
$ tar --acls --xattrs --numeric-owner -cf test.tar file
$ tar -vv --acls --xattrs -tf test.tar
expected output:
-rw-r--r--+ 0/0 4 2022-01-26 14:32 file
a: user::rw-,user:1001:r--,group::r--,mask::r--,other::r--
actual output:
-rw-r--r--+ 0/0 4 2022-01-26 14:32 file
a: user::rw-,user:fakeuser:r--,group::r--,mask::r--,other::r--
on B:
$ tar --acls --xattrs -xf test.tar
$ getfacl -n file
expected output (extraction) - none
expected output (getfacl):
# file: file
# owner: 0
# group: 0
user::rw-
user:1001:r--
group::r--
other::r--
actual output (extraction):
tar: file: Warning: Cannot acl_from_text: Invalid argument
actual output (getfacl) - note the missing user entry:
# file: file
# owner: 0
# group: 0
user::rw-
group::r--
other::r--
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/tar/+bug/2015539/+subscriptions
More information about the foundations-bugs
mailing list