This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Windows 8 group won't respect /etc/passwd or /etc/group


On Jan  8 12:07, John Smith wrote:
> >That's not how it works for me, even with Notepad.  It only changes
> >the file content, not the ownership.
> 
> If you create a file outside of cygwin, you should see it as a group
> of none, correct?  Then if you update that file's group using cygwin
> to "chgrp Users", cygwin reports that file correctly changed groups.
> But the problem comes now when I that file again outside of cygwin,
> then look at the file again in cygwin, the group has once again
> reverted to ?????.  I don't recall seeing this happen on a previous
> install (I've used cygwin for years) but some new things for me is
> that I'm running Win 8.1 (user is that windows live account) and I'm
> also trying out cygwin64.
> 
> Are you able to test this

Almost.  I'm using a domain user account but the mechanism is the same.

> and say you are not seeing this?

I'm not seeing this.  Creating the file with Notepad sets user and group
to myself and my primary domain group.  `Chgrp Users' on that file
changes the group to the group Users, which is a local (==non-domain)
predefined group, which is confirmed by ls -l.  Then I start Notepad
on the same file again, change it, and save the changes.  Afterwards,
the file's group is still "Users".

> >>In *nix, once you change a group, just editing a file won't change
> >>the group back to something else.
> >
> >That doesn't happen on Cygwin, too.
> 
> This is the behavior I'm seeing -- so maybe cygwin isn't really able
> to change the group, then?

Yes, it can.  Changing the group does change the security descriptor on
disk.  The effect you're seeing is weird, but it's not how Cygwin
usually works.

>   But again once I
> edit that file the group reverts to ???? and I lose group
> permissions again. I don't get it.

Me neither.  But see below.

> My apologies, I was just thinking that if I could get my programs to
> open up and make them set the default group to Users whenever they
> add/edit/update/etc a file that might solve the issue, but I am not
> sure that will at this point.  And I'd have to find some way to do
> that across the board, which I think you said wouldn't work.

It works for Cygwin and non-Cygwin processes started from a Cygwin process.
It does not work for processes started from explorer.

OTOH, I don't understand what you're trying to accomplish.  You can just
change the name of the "none" (or "HomeUser", see below) group in
/etc/group and be happy.  The group membership doesn't really matter on
a non-domain standalone system anyway.

> >  Try the icacls command on a file to see
> >what it prints and compare the info with your passwd and group files.
> 
> I'm not sure how to read this.  It's giving me a list of
> permissions, but how do I know what group cygwin sees?

You don't.  Windows doesn't use the primary group field for any
purpose, so there's no reason for a WIndows tool to print the
primary group.  At least, so far Windows never used the primary
group for any purpose, but see below.

> I can
> understand this is the hierarchy of permissions, but I don't see a
> "none" group anywhere --

It's not a hirarchy.  It's just a list.  And, yes, the None group
is missing.  But here I'm wondering.  Do you have the HomeUsers
group in /etc/group?  If not, add it.

I can't be sure, but it seems that Windows uses that group as primary
group if you're using the HomeGroup sharing stuff, which I have no
experience with.  I tried to reproduce this, but this is apparently not
enabled on enterprise systems.  But I read a bit about it, and it
seems to have a life on its own, for instance:

  http://www.tomshardware.co.uk/forum/27119-63-remove-user-homeusers-win7
  http://social.technet.microsoft.com/Forums/windows/en-US/4d059295-838e-4e81-9658-823897a5bda2/

Probably best not to use it and only use normal workgroup sharing.

> icacls cc.txt
> cc.txt WHITELANCER\John:(RX)
>        Whitelancer\HomeUsers:(I)(RX)
>        BUILTIN\Administrators:(I)(F)
>        NT AUTHORITY\SYSTEM:(I)(F)
>        WHITELANCER\John:(I)(F)
>        Everyone:(I)(RX)
> 
> If that is the case, how do I make a manual entry in my /etc/group
> for a "John" group?

Don't.  That's your user account.  It doesn't belong into /etc/group.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

Attachment: pgpjrmSKHMWoz.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]