This is the mail archive of the cygwin-developers@sourceware.cygnus.com 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]

Re: default /etc/passwd contents


Hopefully Corinna will respond to this.  I don't know how it impacts
her security changes.

If we are going to add a dummy line, why not actually make it meaningful
and have it default to the current users's name, uid and gid?

-chris

On Tue, Jun 08, 1999 at 08:57:50PM +0400, Egor Duda wrote:
>  What do you think about changing cygwin behavior in case when
>/etc/passwd file isn't found? I think that it would be ok to create
>single entry in passwd_buf of some "default user", who cannot own any
>files and does not belong to any existing group. Something like
>
> "cygwin_default::<DEFAULT_UID>:<DEFAULT_GID>::<value of $HOME>:none"
>
>Just like it's done for groups?
>
>I feel that it would be quite safe, if <DEFAULT_UID> and <DEFAULT_GID>
>will be assigned to some "reserved" values, i.e. not to be equal to
>any of real Windows UIDs and GIDs. I've made such patch and it saves
>me a lot of time while adopting cygwin port of ssh to be run on any
>machine even without cygwin installed.
>
>Egor.            mailto:deo@logos-m.ru ICQ 5165414 FidoNet 2:5020/496.19
>
>Index: passwd.cc
>===================================================================
>RCS file: /usr/local/src/cvs/cygnus/cygwin/winsup/passwd.cc,v
>retrieving revision 1.1.1.1
>diff -u -2 -r1.1.1.1 passwd.cc
>--- passwd.cc   1999/04/10 14:55:02     1.1.1.1
>+++ passwd.cc   1999/06/08 16:52:53
>@@ -106,10 +106,9 @@
> read_etc_passwd ()
> {
>+    char linebuf[1024];
>     FILE *f = fopen ("/etc/passwd", "r");
>
>     if (f)
>-    {
>-       char linebuf[1024];
>-
>+      {
>        while (fgets (linebuf, sizeof (linebuf), f) != NULL)
>          {
>@@ -119,5 +118,10 @@
>
>        fclose (f);
>-    }
>+      }
>+    else
>+      {
>+        snprintf ( linebuf , sizeof ( linebuf ) , "cygwin_default::500:500::%s:none" , getenv ( "HOME" ) ) ;
>+        add_pwd_line ( linebuf ) ;
>+      }
>     passwd_in_memory_p = 1;
> }
>
>

-- 
cgf@cygnus.com
http://www.cygnus.com/

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