diff --git a/src/bin/createuser/Makefile b/src/bin/createuser/Makefile index ef3b13eb57d927c8fe3fae2d5d1344128d52e40f..eebe6b1ab476147a5249e67478dee2d46ec029e5 100644 --- a/src/bin/createuser/Makefile +++ b/src/bin/createuser/Makefile @@ -7,7 +7,7 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/bin/createuser/Attic/Makefile,v 1.8 1998/04/06 16:49:37 momjian Exp $ +# $Header: /cvsroot/pgsql/src/bin/createuser/Attic/Makefile,v 1.9 1998/08/22 05:19:16 momjian Exp $ # #------------------------------------------------------------------------- @@ -15,8 +15,8 @@ SRCDIR= ../.. include ../../Makefile.global SEDSCRIPT= \ - -e "s^_fUnKy_DASH_N_sTuFf_^$(DASH_N)^g" \ - -e "s^_fUnKy_BACKSLASH_C_sTuFf_^$(BACKSLASH_C)^g" + -e "s^PG_OPT_DASH_N_PARAM^$(DASH_N)^g" \ + -e "s^PG_OPT_BACKSLASH_C_PARAM^$(BACKSLASH_C)^g" all: createuser diff --git a/src/bin/createuser/createuser.sh b/src/bin/createuser/createuser.sh index ea510a61eee5d90588b887147677aa9719256c9c..49e8aeed5be423e7b3053d9a3e378a1623be1ef2 100644 --- a/src/bin/createuser/createuser.sh +++ b/src/bin/createuser/createuser.sh @@ -8,13 +8,16 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/bin/createuser/Attic/createuser.sh,v 1.9 1998/02/25 13:08:37 scrappy Exp $ +# $Header: /cvsroot/pgsql/src/bin/createuser/Attic/createuser.sh,v 1.10 1998/08/22 05:19:17 momjian Exp $ # # Note - this should NOT be setuid. # #------------------------------------------------------------------------- CMDNAME=`basename $0` +SYSID= +CANADDUSER= +CANCREATE= if [ -z "$USER" ]; then if [ -z "$LOGNAME" ]; then @@ -34,6 +37,11 @@ do -a) AUTHSYS=$2; shift;; -h) PGHOST=$2; shift;; -p) PGPORT=$2; shift;; + -d) CANCREATE=t;; + -D) CANCREATE=f;; + -u) CANADDUSER=t;; + -U) CANADDUSER=f;; + -i) SYSID=$2; shift;; *) NEWUSER=$1;; esac shift; @@ -96,7 +104,7 @@ fi if [ -z "$NEWUSER" ] then - echo _fUnKy_DASH_N_sTuFf_ "Enter name of user to add ---> _fUnKy_BACKSLASH_C_sTuFf_" + echo PG_OPT_DASH_N_PARAM "Enter name of user to add ---> PG_OPT_BACKSLASH_C_PARAM" read NEWUSER fi @@ -124,7 +132,6 @@ done=0 while [ $done -ne 1 ] do - SYSID= DEFSYSID=`pg_id $NEWUSER 2>/dev/null` if [ $? -eq 0 ]; then DEFMSG=" or RETURN to use unix user ID: $DEFSYSID" @@ -134,31 +141,31 @@ do fi while [ -z "$SYSID" ] do - echo _fUnKy_DASH_N_sTuFf_ "Enter user's postgres ID$DEFMSG -> _fUnKy_BACKSLASH_C_sTuFf_" + echo PG_OPT_DASH_N_PARAM "Enter user's postgres ID$DEFMSG -> PG_OPT_BACKSLASH_C_PARAM" read SYSID [ -z "$SYSID" ] && SYSID=$DEFSYSID; SYSIDISNUM=`echo $SYSID | egrep '^[0-9]+$'` if [ -z "$SYSIDISNUM" ] then echo "$CMDNAME: the postgres ID must be a number" - exit 1 - fi - QUERY="select usename from pg_user where usesysid = '$SYSID'::int4" - RES=`$PSQL -c "$QUERY" template1` - if [ $? -ne 0 ] - then - echo "$CMDNAME: database access failed." - exit 1 - fi - if [ -n "$RES" ] - then - echo - echo "$CMDNAME: $SYSID already belongs to $RES, pick another" - DEFMSG= DEFSYSID= SYSID= - else - done=1 + SYSID= fi done + QUERY="select usename from pg_user where usesysid = '$SYSID'::int4" + RES=`$PSQL -c "$QUERY" template1` + if [ $? -ne 0 ] + then + echo "$CMDNAME: database access failed." + exit 1 + fi + if [ -n "$RES" ] + then + echo + echo "$CMDNAME: $SYSID already belongs to $RES, pick another" + DEFMSG= DEFSYSID= SYSID= + else + done=1 + fi done # @@ -168,39 +175,44 @@ done # # can the user create databases? # +if [ -z "$CANCREATE" ] +then + yn=f -yn=f - -while [ "$yn" != y -a "$yn" != n ] -do - echo _fUnKy_DASH_N_sTuFf_ "Is user \"$NEWUSER\" allowed to create databases (y/n) _fUnKy_BACKSLASH_C_sTuFf_" - read yn -done + while [ "$yn" != y -a "$yn" != n ] + do + echo PG_OPT_DASH_N_PARAM "Is user \"$NEWUSER\" allowed to create databases (y/n) PG_OPT_BACKSLASH_C_PARAM" + read yn + done -if [ "$yn" = y ] -then - CANCREATE=t -else - CANCREATE=f + if [ "$yn" = y ] + then + CANCREATE=t + else + CANCREATE=f + fi fi # # can the user add users? # -yn=f +if [ -z "$CANADDUSER" ] +then + yn=f -while [ "$yn" != y -a "$yn" != n ] -do - echo _fUnKy_DASH_N_sTuFf_ "Is user \"$NEWUSER\" allowed to add users? (y/n) _fUnKy_BACKSLASH_C_sTuFf_" - read yn -done + while [ "$yn" != y -a "$yn" != n ] + do + echo PG_OPT_DASH_N_PARAM "Is user \"$NEWUSER\" allowed to add users? (y/n) PG_OPT_BACKSLASH_C_PARAM" + read yn + done -if (test "$yn" = y) -then - CANADDUSER=t -else - CANADDUSER=f + if (test "$yn" = y) + then + CANADDUSER=t + else + CANADDUSER=f + fi fi QUERY="insert into pg_shadow \ diff --git a/src/bin/destroyuser/Makefile b/src/bin/destroyuser/Makefile index a43959db24dbd1ed886e5b7a5ae836af681f9970..08942b7b1d629350eca4e0a7ace580251d30cf62 100644 --- a/src/bin/destroyuser/Makefile +++ b/src/bin/destroyuser/Makefile @@ -7,7 +7,7 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/bin/destroyuser/Attic/Makefile,v 1.8 1998/04/06 16:50:05 momjian Exp $ +# $Header: /cvsroot/pgsql/src/bin/destroyuser/Attic/Makefile,v 1.9 1998/08/22 05:19:19 momjian Exp $ # #------------------------------------------------------------------------- @@ -15,8 +15,8 @@ SRCDIR= ../.. include ../../Makefile.global SEDSCRIPT= \ - -e "s^_fUnKy_DASH_N_sTuFf_^$(DASH_N)^g" \ - -e "s^_fUnKy_BACKSLASH_C_sTuFf_^$(BACKSLASH_C)^g" + -e "s^PG_OPT_DASH_N_PARAM^$(DASH_N)^g" \ + -e "s^PG_OPT_BACKSLASH_C_PARAM^$(BACKSLASH_C)^g" all: destroyuser diff --git a/src/bin/destroyuser/destroyuser.sh b/src/bin/destroyuser/destroyuser.sh index fb5bcaeeddc9b757c2c1389fd1fbb5334df892d5..35407f8d37736b16c7b9a8c7db29433a8a6568a4 100644 --- a/src/bin/destroyuser/destroyuser.sh +++ b/src/bin/destroyuser/destroyuser.sh @@ -8,7 +8,7 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/bin/destroyuser/Attic/destroyuser.sh,v 1.8 1998/02/25 13:08:55 scrappy Exp $ +# $Header: /cvsroot/pgsql/src/bin/destroyuser/Attic/destroyuser.sh,v 1.9 1998/08/22 05:19:21 momjian Exp $ # # Note - this should NOT be setuid. # @@ -90,7 +90,7 @@ fi if [ -z "$DELUSER" ] then - echo _fUnKy_DASH_N_sTuFf_ "Enter name of user to delete ---> _fUnKy_BACKSLASH_C_sTuFf_" + echo OPT_DASH_N_PARAM "Enter name of user to delete ---> OPT_BACKSLASH_C_PARAM" read DELUSER fi @@ -154,7 +154,7 @@ then yn=f while [ $yn != y -a $yn != n ] do - echo _fUnKy_DASH_N_sTuFf_ "Deleting user $DELUSER will destroy them. Continue (y/n)? _fUnKy_BACKSLASH_C_sTuFf_" + echo OPT_DASH_N_PARAM "Deleting user $DELUSER will destroy them. Continue (y/n)? OPT_BACKSLASH_C_PARAM" read yn done diff --git a/src/bin/initdb/initdb.sh b/src/bin/initdb/initdb.sh index 83033b919c6311cd1ba6b50af096e821e35178bc..96b83a713de513410454f4398859656d70aca9e7 100644 --- a/src/bin/initdb/initdb.sh +++ b/src/bin/initdb/initdb.sh @@ -26,12 +26,12 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.51 1998/08/21 23:22:36 momjian Exp $ +# $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.52 1998/08/22 05:19:23 momjian Exp $ # #------------------------------------------------------------------------- # ---------------- -# The _fUnKy_..._sTuFf_ gets set when the script is built (with make) +# The OPT_..._PARAM gets set when the script is built (with make) # from parameters set in the make file. # # ---------------- diff --git a/src/bin/initlocation/Makefile b/src/bin/initlocation/Makefile index 4ea61f8dc152b75e53c7a547caaab9758a7875d7..43f12a42af61e3263d55f9797c061cc13906bff1 100644 --- a/src/bin/initlocation/Makefile +++ b/src/bin/initlocation/Makefile @@ -7,7 +7,7 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/bin/initlocation/Attic/Makefile,v 1.5 1998/04/06 16:50:30 momjian Exp $ +# $Header: /cvsroot/pgsql/src/bin/initlocation/Attic/Makefile,v 1.6 1998/08/22 05:19:25 momjian Exp $ # #------------------------------------------------------------------------- @@ -15,8 +15,8 @@ SRCDIR= ../.. include ../../Makefile.global SEDSCRIPT= \ - -e "s^_fUnKy_NAMEDATALEN_sTuFf_^$(NAMEDATALEN)^g" \ - -e "s^_fUnKy_OIDNAMELEN_sTuFf_^$(OIDNAMELEN)^g" + -e "s^PG_OPT_NAMEDATALEN_PARAM^$(NAMEDATALEN)^g" \ + -e "s^PG_OPT_OIDNAMELEN_PARAM^$(OIDNAMELEN)^g" all: initlocation diff --git a/src/bin/ipcclean/Makefile b/src/bin/ipcclean/Makefile index 74250c09684818154893a2c8f3e70d262d1e0aef..a7521fb3319673c42f026bdb9928fe35b40f1bf4 100644 --- a/src/bin/ipcclean/Makefile +++ b/src/bin/ipcclean/Makefile @@ -7,7 +7,7 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/bin/ipcclean/Attic/Makefile,v 1.7 1998/04/06 16:50:36 momjian Exp $ +# $Header: /cvsroot/pgsql/src/bin/ipcclean/Attic/Makefile,v 1.8 1998/08/22 05:19:29 momjian Exp $ # #------------------------------------------------------------------------- @@ -15,7 +15,7 @@ SRCDIR= ../.. include ../../Makefile.global SEDSCRIPT= \ - -e "s^_fUnKy_IPCCLEANPATH_sTuFf_^$(IPCSDIR)^g" + -e "s^PG_OPT_IPCCLEANPATH_PARAM^$(IPCSDIR)^g" all: ipcclean diff --git a/src/bin/ipcclean/ipcclean.sh b/src/bin/ipcclean/ipcclean.sh index d3ea2fc576c72b1e79e235df1bc7ecc742293674..64a01e062a5c6c2a820f4a6d6e26575df9c8d22d 100644 --- a/src/bin/ipcclean/ipcclean.sh +++ b/src/bin/ipcclean/ipcclean.sh @@ -1,8 +1,8 @@ #!/bin/sh # -# $Header: /cvsroot/pgsql/src/bin/ipcclean/Attic/ipcclean.sh,v 1.1.1.1 1996/07/09 06:22:13 scrappy Exp $ +# $Header: /cvsroot/pgsql/src/bin/ipcclean/Attic/ipcclean.sh,v 1.2 1998/08/22 05:19:31 momjian Exp $ # -PATH=_fUnKy_IPCCLEANPATH_sTuFf_:$PATH +PATH=PG_OPT_IPCCLEANPATH_PARAM:$PATH export PATH ipcs | egrep '^m .*|^s .*' | egrep "`whoami`|postgres" | \ awk '{printf "ipcrm -%s %s\n", $1, $2}' '-' | sh diff --git a/src/man/createuser.1 b/src/man/createuser.1 index db4e28f1de650ec1361dc45a9f3b77237df123a4..d0e9de88f9bde06d88a97bf7d308c135d3e3e0cf 100644 --- a/src/man/createuser.1 +++ b/src/man/createuser.1 @@ -1,6 +1,6 @@ .\" This is -*-nroff-*- .\" XXX standard disclaimer belongs here.... -.\" $Header: /cvsroot/pgsql/src/man/Attic/createuser.1,v 1.11 1998/07/24 16:44:03 momjian Exp $ +.\" $Header: /cvsroot/pgsql/src/man/Attic/createuser.1,v 1.12 1998/08/22 05:19:35 momjian Exp $ .TH CREATEUSER UNIX 11/05/95 PostgreSQL PostgreSQL .SH NAME createuser - create a Postgres user @@ -10,11 +10,26 @@ createuser - create a Postgres user .BR -a system] [\c +.BR -d +] +[\c +.BR -D +] +[\c .BR -h host] [\c +.BR -i +id] +[\c .BR -p port] +[\c +.BR -u +] +[\c +.BR -U +] [username] .SH DESCRIPTION .IR Createuser @@ -57,11 +72,22 @@ to use in connecting to the .IR postmaster process. This option no longer has any effect. .TP +.BR "-d" +Allows the user to create databases. +.TP +.BR "-D" +Does not allow the user to create databases. +.TP .BR "-h" " host" Specifies the hostname of the machine on which the .IR postmaster is running. Defaults to using local Unix domain sockets. .TP +.BR "-i" " id" +Use +.IR id +as the user id. +.TP .BR "-p" " port" Specifies the TCP/IP port or local Unix domain socket file extension on which the @@ -69,6 +95,12 @@ extension on which the is listening for connections. Defaults to 5432, or the value of the .SM PGPORT environment variable (if set). +.TP +.BR "-u" +Allows the user to create other users. +.TP +.BR "-U" +Does not allow the user to create other users. .SH "INTERACTIVE QUESTIONS" Once invoked with the above options, .IR createuser @@ -119,7 +151,3 @@ properly installed Postgres and initialized the site with .SH NOTE The command internally runs \fIcreate user\fP from \fIpsql\fP connected to the \fItemplate1\fP database to perform the operation. -.SH BUGS -Postgres user-ids and user names should not have anything to do -with the constraints of Unix. -