OSDN Git Service

Update ipcclean to use try 'id' first for root check.
authorBruce Momjian <bruce@momjian.us>
Fri, 3 Mar 2006 21:52:37 +0000 (21:52 +0000)
committerBruce Momjian <bruce@momjian.us>
Fri, 3 Mar 2006 21:52:37 +0000 (21:52 +0000)
src/bin/ipcclean/ipcclean.sh

index 9fc764e..f55f8c7 100644 (file)
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $PostgreSQL: pgsql/src/bin/ipcclean/ipcclean.sh,v 1.17 2006/03/03 16:49:21 momjian Exp $
+# $PostgreSQL: pgsql/src/bin/ipcclean/ipcclean.sh,v 1.18 2006/03/03 21:52:37 momjian Exp $
 #
 
 CMDNAME=`basename $0`
@@ -19,8 +19,19 @@ if [ "$1" = '-?' -o "$1" = "--help" ]; then
     exit 0
 fi
 
-# only check $LOGNAME if $USER is not set
-if [ "$USER" = 'root' -o \( ! "$USER" -a "$LOGNAME" = 'root' \) ]
+# test for running as root
+
+ISROOT="N"
+if id -u >/dev/null 2>&1
+then   if [ `id -u` -eq 0 ]
+       then    ISROOT="Y"
+       fi
+elif   # only check $LOGNAME if $USER is not set
+       [ "$USER" = 'root' -o \( ! "$USER" -a "$LOGNAME" = 'root' \) ]
+then   ISROOT="Y"
+fi
+
+if [ "$ISROOT" = "Y" ]
 then
   (
     echo "$CMDNAME: cannot be run as root" 1>&2