chown with not existing user/group

Dave Korn
Thu Feb 28 15:32:00 GMT 2008

On 28 February 2008 14:45, Matthieu CASTET wrote:

> But then why does it works if I create dummy user in /etc/passwd.

  Because cygwin relies on the contents of /etc/passwd to be accurate.  Cygwin
cannot in general know what SIDs exist out there in a domain (or even on a
local machine), it treats /etc/passwd as a cache to save going out across the
network to the domain controller for lookups every time a UID is needed.

> For example for root
> $ echo "root:*:0:0:,S-1-5-32-545::" >> /etc/passwd
> $ chown root:root /tmp/toto
> $ ls -l /tmp/toto
> -rw-r--r-- 1 root root 0 Feb 28 14:49 /tmp/toto
> Does it means in this case I create "ACLs with unrecognised SIDs" ?

  No, because 1-5-32-545 is a real SID, hence recognised.  It's a well-known
SID that exists on all windows boxes.  It is, however, a GID, not a UID: that
is the SID of the "Users" group you have set there, so who knows how confused
cygwin might be by that.

  Try a SID that actually doesn't exist, like S-1-5-23-599 for example, and
you'll see it doesn't work.

Can't think of a witty .sigline today....

Unsubscribe info:
Problem reports:

More information about the Cygwin mailing list