nfs-utils/nfs-utils-rpcidmapd.init

88 lines
1.7 KiB
Plaintext
Raw Normal View History

#!/bin/bash
#
# rpcidmapd Start up and shut down RPC name to UID/GID mapper
#
# Authors: Chuck Lever <cel@netapp.com>
#
# chkconfig: 345 40 27
# description: Starts user-level daemon for NFSv4 that maps user \
# names to UID and GID numbers.
# Source function library.
. /etc/init.d/functions
# Source networking configuration.
if [ ! -f /etc/sysconfig/network ]; then
exit 0
fi
. /etc/sysconfig/network
# Check that networking is up.
[ "${NETWORKING}" = "no" ] && exit 0
[ ! -x /usr/sbin/rpc.idmapd ] && exit 0
OPTIONS=""
RETVAL=0
LOCKFILE=/var/lock/subsys/rpcidmapd
prog="rpc.idmapd"
case "$1" in
start|condstart)
# Make sure the daemon is not already running.
[ "$1" = "condstart" -a -n "`pidofproc $prog`" ] && {
killproc $prog "-SIGHUP" > /dev/null
exit 0
}
rm -f $LOCKFILE
echo -n $"Starting RPC idmapd: "
# mount the rpc_pipes fs.
[ -e /var/lib/nfs/rpc_pipefs/nfs ] || \
mount rpc_pipefs /var/lib/nfs/rpc_pipefs -t rpc_pipefs
# Make sure the mount worked.
[ -z "${RPCMTAB}" ] && RPCMTAB=`grep -v '^#' /proc/mounts | \
awk '{ if ($3 ~ /^rpc_pipefs$/ ) print $2}'`
[ -z "${RPCMTAB}" ] && {
echo "Error: RPC MTAB does not exist."
exit 1
}
# Start daemon.
daemon $prog ${OPTIONS}
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch $LOCKFILE
;;
stop)
# Stop daemon.
echo -n $"Shutting down RPC idmapd: "
killproc $prog
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f $LOCKFILE
;;
status)
status rpc.idmapd
RETVAL=$?
;;
restart|reload)
$0 stop
$0 start
RETVAL=$?
;;
condrestart)
if [ -f $LOCKFILE ]; then
$0 restart
RETVAL=$?
fi
;;
*)
echo $"Usage: $0 {start|stop|restart|condstart|condrestart|status}"
exit 1
esac
exit $RETVAL