3 # rpcgssd Start up and shut down RPCSEC GSS daemon
5 # Authors: Chuck Lever <cel@netapp.com>
8 # description: Starts user-level daemon that manages RPCSEC GSS contexts \
9 # for the NFSv4 client.
11 # Source function library.
12 . /etc/rc.d/init.d/functions
15 . /etc/sysconfig/network
17 # Check that networking is up.
18 if is_yes "${NETWORKING}"; then
19 if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
20 msg_network_down "RPC gssd daemon"
27 if [ -x /sbin/pidof ] && [ "$1" != "stop" ]; then
28 [ -z "`/sbin/pidof portmap`" ] && nls "Error: portmap isn't running" && exit 0
32 [ -f /etc/sysconfig/nfsfs ] && . /etc/sysconfig/nfsfs
34 is_yes "${SECURE_NFS}" || exit 0
36 # List of kernel modules to load
37 [ -z "${SECURE_NFS_MODS}" ] && SECURE_NFS_MODS="des rpcsec_gss_krb5"
39 # /usr may be on NFS, fail silently, nfsfs will start it
40 [ -x /usr/sbin/rpc.gssd ] || exit 0
44 # See how we were called.
47 # Check if the service is already running?
48 if [ ! -f /var/lock/subsys/gssd ]; then
49 if ! grep -q rpc_pipefs /proc/mounts ; then
50 modprobe -s sunrpc >/dev/null 2>&1
51 run_cmd "Mounting /var/lib/nfs/rpc_pipefs filesystem" \
52 mount -t rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs
55 for i in ${SECURE_NFS_MODS} ; do
56 _modprobe single die $i
58 msg_starting "RPC gssd"
59 daemon rpc.gssd $RPCGSSOPTIONS
61 [ $RETVAL = 0 ] && touch /var/lock/subsys/gssd
63 msg_already_running "RPC gssd"
67 if [ -f /var/lock/subsys/gssd ]; then
68 msg_stopping "RPC gssd"
70 rm -f /var/lock/subsys/gssd
72 msg_not_running "RPC gssd"
85 msg_usage "$0 {start|stop|restart|status}"