public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: John Fortin <fortinj@ibm.net>
To: Sebastien Barre <Sebastien.Barre@utc.fr>
Cc: cygwin@sourceware.cygnus.com
Subject: Re: [HELP] stat(), file permission, r/w access : i'm LOST :(
Date: Mon, 01 Mar 1999 13:55:00 -0000	[thread overview]
Message-ID: <36DB0B4F.8FC8757@ibm.net> (raw)
In-Reply-To: <4.1.19990301211226.016b1250@mail.club-internet.fr>

I think I said this before...  I had the same problem.  It has to do ( it seems ) with
being part of the administrator group.  NT assigns the owner of the file to 544 if you
are part of the administrator group.

Try this if you like.  Create a new user and set it up like your normal on EXCEPT don't
make it part of the adminstrator group.  You may need to set up some different
directories to mirror what you have now but owned by the new userid.  Try your build
there.

Sebastien Barre wrote:

> Dear cygwin people
>
> As some of you might have noticed (sorry for the flood), I'm still trying
> to arbitrate The Fight between Perl 5.002 and cygwin32-B20.1 (the
> battlefield being NT4/SP4). Well, thanks to some of you, I nearly did it
> (and also ruined a couple of nights), but a strange problem lead me to some
> more confusion :
>
> Problem : although I'm working as single user on a standalone workstation,
> and always logged as sysadmin ("administrateur" in french), cygwin seems to
> see/create the files on my hard disk as *not* belonging to me, but to
> another "being" (which is not obvious to me).
>
> I'll do my best to describe it (it's really *easy* to observe) : let's have
> a look at a simple Perl example, then a short C example with stat(), and my
> /etc/passwd and /etc/group. Finally I will create a simple file with
> 'touch', and you will notice that it will be reported as NOT belonging to
> me and not being writable :((
>
> Note : this seems specific to NT, which is not surprising regarding file
> permissions.
>
> Perl example :
> ----------------------
>
> Note : I created /etc/passwd and /etc/group with 'mkpasswd -l' and 'mkgroup
> -l' respectively, as reported in many FAQS.
>
> administrateur [26] /etc$ perl -e 'print "yes" if -w "group";'
>
> administrateur [27] /etc$ ll
> total 7
> -rw-r--r--   1 544 Aucun          27 Feb 26 02:45 group
> -rw-r--r--   1 544 Aucun         65 Mar  1 21:08 passwd
> -rw-r--r--   1 544 Aucun        9828 Dec  1 14:00 termcap
>
> That command (-w) will display 'yes' if the file (here, /etc/group) is
> writable. Apparently, it fails. And fails everywhere in my filesystem. The
> '-w' command is using C<stat>, let's move on :
>
> C example :
> ----------------------
> #include <sys/stat.h>
> #include <stdlib.h>
>
> int main() {
>     struct stat mystat;
>
>     stat("group", &mystat);
>
>     printf("mode : %o, uid : %u, gid : %u\n",
>            mystat.st_mode, mystat.st_uid, mystat.st_gid);
>
>     exit(0);
> }
>
> Run :
>
> administrateur [52] /etc$ gcc mystat.c
>
> administrateur [53] /etc$ a.exe
> mode : 100644, uid : 544, gid : 513
>
> administrateur [55] /etc$ ll group
> -rw-r--r--   1 544 Aucun          27 Feb 26 02:45 group
>
> Which means :
>         - /etc/group belongs to user which UID is 544, and to group which GID is 513
>         - it's a regular file (100000),
>         - read/write permission to owner (600), read permission to group (40) and
> read to other (4).
>
> BUT (and it drives me crazy). I CREATED that file, and I'm NOT user 544 !
> (more about this strange fellow below).
>
> administrateur [56] /etc$ whoami
> administrateur
>
> administrateur [74] /etc$ cat passwd
> Administrateur::500:513:seb::/bin/sh
> InvitÚ::501:513:::/bin/sh
>
> administrateur [75] /etc$ cat group
> Aucun::513:
> Everyone::0:
>
> Obviously, I'm user 500 (I changed my name to 'seb' so that to check).
> => Therefore WHY are all files created as 544 (even with tar) ? (the group
> is correct : 513).
>
> I thought it was related to /etc/passwd, but I just do NOT UNDERSTAND the
> difference between -l and -g option for 'mkpasswd'.
>
>    -l,--local              print local accounts
>    -g,--local-groups       print local group information too
>
> administrateur [77] /etc$ mkpasswd -l
> Administrateur::500:513:seb::/bin/sh
> InvitÚ::501:513:::/bin/sh
>
> administrateur [79] /etc$ mkpasswd -g
> Administrateurs::544:0:::
> Duplicateurs::552:0:::
> InvitÚs::546:0:::
> OpÚrateurs de sauvegarde::551:0:::
> Utilisateurs::545:0:::
> Utilisateurs avec pouvoir::547:0:::
>
> => who are these users ?!? these should be groups !! I'm belonging to the
> "Administrateurs" group for NT (in the "Gestionnaire d'utilisateurs" ~=
> "User manager"), and this has been translated to a user, I'm completely
> lost :((
>
> => dumping 'mkpasswd -l -g' to /etc/passwd (instead of 'mkpasswd -l') did
> NOT help.
>
> Here is the same joke :
>
> administrateur [84] /etc$ touch test
>
> administrateur [85] /etc$ ll test
> -rw-r--r--   1 544      Aucun           0 Mar  1 21:46 test
>
> administrateur [86] /etc$ perl -e 'print "yes" if -w "test";'
> administrateur [87] /etc$
>
> WOAH : I created a file, and it's automatically assigned to someone else !
> Give me my file back please :(
> And of course, although I created it, it's now NOT writable for cygwin.
>
> I guess I might be just dumb. Any help would be really appreciated (by my
> mental health).
>
> Thanks
>
> ______________________________________________________________
> Sebastien Barre                  http://www.hds.utc.fr/~barre/
>
> --
> Want to unsubscribe from this list?
> Send a message to cygwin-unsubscribe@sourceware.cygnus.com




--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

WARNING: multiple messages have this Message-ID
From: John Fortin <fortinj@ibm.net>
To: Sebastien Barre <Sebastien.Barre@utc.fr>
Cc: cygwin@sourceware.cygnus.com
Subject: Re: [HELP] stat(), file permission, r/w access : i'm LOST :(
Date: Wed, 31 Mar 1999 19:45:00 -0000	[thread overview]
Message-ID: <36DB0B4F.8FC8757@ibm.net> (raw)
Message-ID: <19990331194500.gKY0mT9CqAPVopMAl3-Y9SSPfqpDqTt7OPPP-ocUdDM@z> (raw)
In-Reply-To: <4.1.19990301211226.016b1250@mail.club-internet.fr>

I think I said this before...  I had the same problem.  It has to do ( it seems ) with
being part of the administrator group.  NT assigns the owner of the file to 544 if you
are part of the administrator group.

Try this if you like.  Create a new user and set it up like your normal on EXCEPT don't
make it part of the adminstrator group.  You may need to set up some different
directories to mirror what you have now but owned by the new userid.  Try your build
there.

Sebastien Barre wrote:

> Dear cygwin people
>
> As some of you might have noticed (sorry for the flood), I'm still trying
> to arbitrate The Fight between Perl 5.002 and cygwin32-B20.1 (the
> battlefield being NT4/SP4). Well, thanks to some of you, I nearly did it
> (and also ruined a couple of nights), but a strange problem lead me to some
> more confusion :
>
> Problem : although I'm working as single user on a standalone workstation,
> and always logged as sysadmin ("administrateur" in french), cygwin seems to
> see/create the files on my hard disk as *not* belonging to me, but to
> another "being" (which is not obvious to me).
>
> I'll do my best to describe it (it's really *easy* to observe) : let's have
> a look at a simple Perl example, then a short C example with stat(), and my
> /etc/passwd and /etc/group. Finally I will create a simple file with
> 'touch', and you will notice that it will be reported as NOT belonging to
> me and not being writable :((
>
> Note : this seems specific to NT, which is not surprising regarding file
> permissions.
>
> Perl example :
> ----------------------
>
> Note : I created /etc/passwd and /etc/group with 'mkpasswd -l' and 'mkgroup
> -l' respectively, as reported in many FAQS.
>
> administrateur [26] /etc$ perl -e 'print "yes" if -w "group";'
>
> administrateur [27] /etc$ ll
> total 7
> -rw-r--r--   1 544 Aucun          27 Feb 26 02:45 group
> -rw-r--r--   1 544 Aucun         65 Mar  1 21:08 passwd
> -rw-r--r--   1 544 Aucun        9828 Dec  1 14:00 termcap
>
> That command (-w) will display 'yes' if the file (here, /etc/group) is
> writable. Apparently, it fails. And fails everywhere in my filesystem. The
> '-w' command is using C<stat>, let's move on :
>
> C example :
> ----------------------
> #include <sys/stat.h>
> #include <stdlib.h>
>
> int main() {
>     struct stat mystat;
>
>     stat("group", &mystat);
>
>     printf("mode : %o, uid : %u, gid : %u\n",
>            mystat.st_mode, mystat.st_uid, mystat.st_gid);
>
>     exit(0);
> }
>
> Run :
>
> administrateur [52] /etc$ gcc mystat.c
>
> administrateur [53] /etc$ a.exe
> mode : 100644, uid : 544, gid : 513
>
> administrateur [55] /etc$ ll group
> -rw-r--r--   1 544 Aucun          27 Feb 26 02:45 group
>
> Which means :
>         - /etc/group belongs to user which UID is 544, and to group which GID is 513
>         - it's a regular file (100000),
>         - read/write permission to owner (600), read permission to group (40) and
> read to other (4).
>
> BUT (and it drives me crazy). I CREATED that file, and I'm NOT user 544 !
> (more about this strange fellow below).
>
> administrateur [56] /etc$ whoami
> administrateur
>
> administrateur [74] /etc$ cat passwd
> Administrateur::500:513:seb::/bin/sh
> InvitÚ::501:513:::/bin/sh
>
> administrateur [75] /etc$ cat group
> Aucun::513:
> Everyone::0:
>
> Obviously, I'm user 500 (I changed my name to 'seb' so that to check).
> => Therefore WHY are all files created as 544 (even with tar) ? (the group
> is correct : 513).
>
> I thought it was related to /etc/passwd, but I just do NOT UNDERSTAND the
> difference between -l and -g option for 'mkpasswd'.
>
>    -l,--local              print local accounts
>    -g,--local-groups       print local group information too
>
> administrateur [77] /etc$ mkpasswd -l
> Administrateur::500:513:seb::/bin/sh
> InvitÚ::501:513:::/bin/sh
>
> administrateur [79] /etc$ mkpasswd -g
> Administrateurs::544:0:::
> Duplicateurs::552:0:::
> InvitÚs::546:0:::
> OpÚrateurs de sauvegarde::551:0:::
> Utilisateurs::545:0:::
> Utilisateurs avec pouvoir::547:0:::
>
> => who are these users ?!? these should be groups !! I'm belonging to the
> "Administrateurs" group for NT (in the "Gestionnaire d'utilisateurs" ~=
> "User manager"), and this has been translated to a user, I'm completely
> lost :((
>
> => dumping 'mkpasswd -l -g' to /etc/passwd (instead of 'mkpasswd -l') did
> NOT help.
>
> Here is the same joke :
>
> administrateur [84] /etc$ touch test
>
> administrateur [85] /etc$ ll test
> -rw-r--r--   1 544      Aucun           0 Mar  1 21:46 test
>
> administrateur [86] /etc$ perl -e 'print "yes" if -w "test";'
> administrateur [87] /etc$
>
> WOAH : I created a file, and it's automatically assigned to someone else !
> Give me my file back please :(
> And of course, although I created it, it's now NOT writable for cygwin.
>
> I guess I might be just dumb. Any help would be really appreciated (by my
> mental health).
>
> Thanks
>
> ______________________________________________________________
> Sebastien Barre                  http://www.hds.utc.fr/~barre/
>
> --
> Want to unsubscribe from this list?
> Send a message to cygwin-unsubscribe@sourceware.cygnus.com




--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com


  parent reply	other threads:[~1999-03-01 13:55 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-02-28 16:22 Cygwin participation threshold Christopher G. Faylor
     [not found] ` < 199903010022.QAA07416@rtl.cygnus.com >
1999-02-28 17:52   ` mySQL, mSQL, PostgreSQL with cygwin ? Sebastien Barre
1999-02-28 23:02     ` Stipe Tolj
1999-03-01  6:09       ` Sebastien Barre
     [not found]         ` < 4.1.19990301145716.017379b0@mail.club-internet.fr >
1999-03-01 13:28           ` [HELP] stat(), file permission, r/w access : i'm LOST :( Sebastien Barre
     [not found]             ` < 4.1.19990301211226.016b1250@mail.club-internet.fr >
1999-03-01 13:42               ` Larry Hall (RFK Partners, Inc)
     [not found]                 ` < 3.0.3.32.19990301163809.00994e00@pop.ma.ultranet.com >
1999-03-01 14:34                   ` Sebastien Barre
     [not found]                     ` < 4.1.19990301232226.01717350@mail.club-internet.fr >
1999-03-01 14:47                       ` Larry Hall (RFK Partners, Inc)
     [not found]                         ` < 3.0.3.32.19990301174320.0098ad30@pop.ma.ultranet.com >
1999-03-02  1:02                           ` Sebastien Barre
1999-03-02  3:26                             ` Heinz-Jürgen Oertel
1999-03-31 19:45                               ` Heinz-Jürgen Oertel
     [not found]                             ` < 4.1.19990302094806.016bc410@mail.club-internet.fr >
1999-03-02 23:55                               ` Geoffrey Noer
1999-03-31 19:45                                 ` Geoffrey Noer
1999-03-31 19:45                             ` Sebastien Barre
1999-03-02  3:04                           ` Lassi A. Tuura
1999-03-31 19:45                             ` Lassi A. Tuura
1999-03-06  2:49                           ` Sebastien Barre
     [not found]                             ` < 4.1.19990305214515.016caba0@mail.club-internet.fr >
1999-03-06 11:04                               ` Larry Hall
1999-03-31 19:45                                 ` Larry Hall
1999-03-31 19:45                             ` Sebastien Barre
1999-03-31 19:45                         ` Larry Hall (RFK Partners, Inc)
1999-03-31 19:45                     ` Sebastien Barre
1999-03-31 19:45                 ` Larry Hall (RFK Partners, Inc)
1999-03-01 13:55             ` John Fortin [this message]
     [not found]               ` < 36DB0B4F.8FC8757@ibm.net >
1999-03-01 14:33                 ` Sebastien Barre
     [not found]                   ` < 4.1.19990301232512.01714e60@mail.club-internet.fr >
1999-03-01 14:39                     ` DJ Delorie
1999-03-31 19:45                       ` DJ Delorie
1999-03-31 19:45                   ` Sebastien Barre
1999-03-31 19:45               ` John Fortin
1999-03-31 19:45             ` Sebastien Barre
1999-03-07  9:11         ` mySQL, mSQL, PostgreSQL with cygwin ? Stipe Tolj
1999-03-31 19:45           ` Stipe Tolj
1999-03-31 19:45         ` Sebastien Barre
1999-02-28 23:02     ` Sebastien Barre
1999-02-28 23:02 ` Cygwin participation threshold Christopher G. Faylor

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=36DB0B4F.8FC8757@ibm.net \
    --to=fortinj@ibm.net \
    --cc=Sebastien.Barre@utc.fr \
    --cc=cygwin@sourceware.cygnus.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).