Update ipcclean to use try 'id' first for root check.

This commit is contained in:
Bruce Momjian 2006-03-03 21:52:37 +00:00
parent 28edbdb7be
commit bf8337b8af
1 changed files with 14 additions and 3 deletions

View 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