incompat in cygwin choice of using '+' as domain and user separator.

Corinna Vinschen corinna-cygwin@cygwin.com
Thu Aug 23 15:59:00 GMT 2018


On Aug 22 15:36, L A Walsh wrote:
> Ran in to this trying to use tar to store acls and xattrs:
> 
> >  tar caf lawbins.tar scripts scripts- bin
> tar: miner.js: Warning: Cannot acl_to_text: Invalid argument
> tar: run-crons.sys: Warning: Cannot acl_to_text: Invalid argument
> tar: smallprof.out: Warning: Cannot acl_to_text: Invalid argument
> tar: tmon.out: Warning: Cannot acl_to_text: Invalid argument
> tar: ubytes_to_utf8.new: Warning: Cannot acl_to_text: Invalid argument
> 
> examining one of these:
> 
> >  find bin -name tmon.out
> bin/tmon.out
> 
> >  lsacl bin/tmon.out
> [u::rwx,g::rwx,o:r-x,u:Unknown+User:rwx,g:Unknown+Group:rwx,g:Administrators:rwx,g:Bliss\Domain
> Admins:rwx,m:rwx/] bin/tmon.out

lsacl?  I don't know this tool.  The fact that it prints the unknown
accounts with '+' and the known account with '\' is weird.  This
shouldn't happen.  It should print all accounts with a '+'.  Please use
`getfacl' to examine the ACLs.

> 
> I tried tar in an existing dir:
> 
> >  mkdir test
> >  tar caf test.tar test
> >  ll test
> total 0
> >  cd test
> >  tar xaf ../test.tar
> >  ll
> total 0
> drwxrwxr-x+ 1 0 Aug 22 15:26 test/
> >  lsacl test
> [u::rwx,g::rwx,g:Bliss\lawgroup:rwx,g:Bliss\Domain Admins:rwx,m:rwx,o:r-x/
> u::rwx,g::rwx,g:Bliss\lawgroup:rwx,g:Bliss\Domain Admins:rwx,m:rwx,o:r-x]
> test
> 
> With the above and only standard separator chars, no problem
> 
> I'm guessing, but '+' is a reserved char that's not permitted in
> acl_to_text...

No, that's a wrong assumption.  Think about it.  The ACL given to
acl_to_text is the binary form, so it doesn't contain user or group
names, only uids and gids.  The usernames are only generated in the
output.

EINVAL from acl_to_text means the incoming acl is invalid.  Either it's
so broken that acl_to_text crashes, or it'sa NULL pointer, or it has
less then MIN_ACL_ENTRIES (3) entry, or it has more than MAX_ACL_ENTRIES
(2730) entries, or it doesn't follow the required rules for POSIX ACLs.

I assume the latter is the case here.  *Why* this occurs, I can't
tell.  I'd need a simple, reproducible testcase for that.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin/attachments/20180823/d332438f/attachment.sig>


More information about the Cygwin mailing list