Date: Wed, 20 May 2026 11:29:28 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 295444] getfacl: Inconsistent printing of uid & gid for user: & group: entries in NFS4/ZFS ACLs Message-ID: <bug-295444-227@https.bugs.freebsd.org/bugzilla/>
index | next in thread | raw e-mail
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295444 Bug ID: 295444 Summary: getfacl: Inconsistent printing of uid & gid for user: & group: entries in NFS4/ZFS ACLs Product: Base System Version: 15.0-RELEASE Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: bin Assignee: bugs@FreeBSD.org Reporter: pen@lysator.liu.se # chgrp 3000000005 testdir # setfacl -x 1 -a 1 group:3000000005:full_set:fd:allow testdir # getfacl testdir # file: testdir # owner: peter86 # group: 3000000005 owner@:rwxpDdaARWcCos:fd-----:allow group:-1294967291:rwxpDdaARWcCos:fd-----:allow Looking at the code in /usr/src/lib/libc/posix1e/acl_to_text_nfs4.c it isn't so surprising, although wrong: if (grp == NULL) snprintf(str, size, "group:%d", (unsigned int)*id); else snprintf(str, size, "group:%s", grp->gr_name); (and similar for user:) uid_t/gid_t are an unsigned 32bit integers, so should be printed using "%u" instead. The current code makes it difficult to use scripts to extract ACL entries and copy them correctly to new files: # mkdir newdir # getfacl testdir | setfacl -b -n -M - newdir setfacl: malformed ACL: unknown user or group name "-1294967291" setfacl: -: get_acl_from_file() failed: Invalid argument Which is due to it being impossible to set it using the "signed" variant: # setfacl -x 1 -a 1 group:-1294967291:full_set:fd:allow td setfacl: malformed ACL: unknown user or group name "-1294967291" A quick look in the acl_id_to_name.c file used for POSIX ACLs seems to indicate similar %d usage. I think the right way to fix this is to change %d to %u when printing uid_t & gid_t in ACL entries (and since most people probably don't use uid/gid's over 2 billion not many will have noticed this :-). -- You are receiving this mail because: You are the assignee for the bug.home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-295444-227>
