This is the mail archive of the
mailing list for the Cygwin project.
Re: "id -Gn" w/ username doesn't return all associated groups. Issue with getgrent()?
Corinna Vinschen <corinna-cygwin <at> cygwin.com> writes:
> > Since Cygwin already lets the underlying OS take care of much of the
> > security (handling passwords, etc.), can't Cygwin just ask Windows for the
> > user's groups when needed, to?
> How? Consider that getgrent just enumerates /etc/group. It doesn't
> know for what purpose the calling application does it. I don't think it
> makes a lot of sense to call a OS function for each getgrent call to
> fill out the gr_mem field on the fly.
> Having said that, I don't intend to change this behaviour myself.
> However, I'm certainly not averse to patches to Cygwin which add this
> behaviour, as long as it's not getting too slow by this.
> P.S.: How did the subject disappear?!?
No clue about the subject - I'm using Gmane to reply, since I'm usually
without reliable SMTP access.
If group membership IS currently required to be listed in /etc/group for
these functions (groups, id, getugroups(), getgrent(), etc...), shouldn't
mkgroup -ul, with the "-u", be run by default at Cygwin first-run? Also,
including this better in the documentation would be a plus.
Also, "mkgroup -u" has a bug, as far as I'm concerned. It always includes the
Windows' username, even if renamed in /etc/passwd for Cygwin-purposes. For
example, take a Windows username of "John Smith". I renamed the first field
in /etc/passwd to "jsmith" to avoid the space. "jsmith" should (and needs) to
be included in the gr_mem field, not "John Smith", otherwise all of the above
functions fail to see that this user is a member of any groups...
I do see one issue with implementing the OS-group-calls into Cygwin -
Win95/98 don't have any concept of user groups. This would have to be
accounted for... Maybe I'll convert the
http://http://cygwin-getugroups.pbwiki.com/ site to address the
possibility of adding this functionality...
Thanks for the replies!
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html