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


Well, actually, I take that back. Today I'm still having the same issue. :frustrated:

If I ever figure it out I'll let you know. Maybe it's just Sublime Text that is the issue and I'll just have to use something else.

On 1/8/2014 12:49 PM, Corinna Vinschen wrote:
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


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


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