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>