Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 Nov 95 17:59:43 MET
From:      marino.ladavac@aut.alcatel.at
To:        ports@freebsd.org
Cc:        lenzi@cwbone.bsi.com.br
Subject:   Getting non-ingres user to run ingres
Message-ID:  <9511151659.AA10250@atuhc16.dnisun.aut.alcatel.at>

next in thread | raw e-mail | index | archive | help
Hi,

the recently posted port of University INGRES contains a bug in
creatdb.c which disables anyone but ingres user to create a 
database, thus rendering the create access right useless.

The following hack seems to fix it:

/Alby

*** creatdb.c.old	Wed Nov 15 00:52:47 1995
--- creatdb.c	Wed Nov 15 00:36:38 1995
***************
*** 360,366 ****
  	    exit(-1);
  	}
  	/* create it */
! 	if (setuid(getuid()))
  	    syserr("setuid");
  	if (setgid(getegid()))
  	    syserr("setgid");
--- 360,366 ----
  	    exit(-1);
  	}
  	/* create it */
! 	if (setuid(geteuid()))
  	    syserr("setuid");
  	if (setgid(getegid()))
  	    syserr("setgid");
***************
*** 370,376 ****
  	if (i == 0) {
  	    /* split off directory */
  	    *(p = (char *) rindex(Dbpath, '/')) = '\0';
! 	    chdir(Dbpath);
  	    *p++ = '/';
  	    execlp("mkdir", "mkdir", p, 0);
  	    syserr("exec mkdir");
--- 370,377 ----
  	if (i == 0) {
  	    /* split off directory */
  	    *(p = (char *) rindex(Dbpath, '/')) = '\0';
! 	    if (chdir(Dbpath) < 0)
! 	    	syserr("chdir %s", Dbpath);
  	    *p++ = '/';
  	    execlp("mkdir", "mkdir", p, 0);
  	    syserr("exec mkdir");
***************
*** 388,394 ****
  	if (i < 0)
  	    syserr("fork 2");
  	if (i == 0) {
! 	    setuid(getuid());
  	    if (chmod(".", 0777))
  		syserr("chmod");
  	    exit(0);
--- 389,395 ----
  	if (i < 0)
  	    syserr("fork 2");
  	if (i == 0) {
! 	    setuid(geteuid());
  	    if (chmod(".", 0777))
  		syserr("chmod");
  	    exit(0);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9511151659.AA10250>