]> git.pld-linux.org Git - packages/nfs-utils.git/blob - rpcgssd.init
- rel 2
[packages/nfs-utils.git] / rpcgssd.init
1 #!/bin/sh
2 #
3 # gssd          Start up and shut down RPCSEC GSS daemon
4 #
5 # chkconfig:    345 15 81
6 # description:  Starts user-level daemon that manages RPCSEC GSS contexts \
7 #               for the NFSv4 client.
8
9 # Source function library.
10 . /etc/rc.d/init.d/functions
11
12 # Get network config
13 . /etc/sysconfig/network
14
15 # Check that networking is up.
16 if is_yes "${NETWORKING}"; then
17         if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
18                 msg_network_down "RPC gssd"
19                 exit 1
20         fi
21 else
22         exit 0
23 fi
24
25 if [ "$1" != "stop" ]; then
26         check_portmapper || { nls "Error: portmap isn't running" && exit 0; }
27 fi
28
29 # Get service config
30 [ -f /etc/sysconfig/nfsfs ] && . /etc/sysconfig/nfsfs
31
32 is_yes "${SECURE_NFS}" || exit 0
33
34 # List of kernel modules to load
35 [ -z "${SECURE_NFS_MODS}" ] && SECURE_NFS_MODS="des rpcsec_gss_krb5"
36
37 # /usr may be on NFS, fail silently, nfsfs will start it
38 [ -x /usr/sbin/rpc.gssd ] || exit 0
39
40 start() {
41         # Check if the service is already running?
42         if [ ! -f /var/lock/subsys/gssd ]; then
43                 if ! grep -q rpc_pipefs /proc/mounts ; then
44                         modprobe -s sunrpc >/dev/null 2>&1
45                         run_cmd "Mounting /var/lib/nfs/rpc_pipefs filesystem" \
46                                 mount -t rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs
47                 fi
48                 # Load rpcsec modules
49                 for i in ${SECURE_NFS_MODS} ; do 
50                         _modprobe single die $i
51                 done
52                 msg_starting "RPC gssd"
53                 daemon rpc.gssd $RPCGSSOPTIONS
54                 RETVAL=$?
55                 [ $RETVAL = 0 ] && touch /var/lock/subsys/gssd
56         else
57                 msg_already_running "RPC gssd"
58         fi
59 }
60
61 stop() {
62         if [ -f /var/lock/subsys/gssd ]; then
63                 msg_stopping "RPC gssd"
64                 killproc rpc.gssd
65                 rm -f /var/lock/subsys/gssd
66         else
67                 msg_not_running "RPC gssd"
68         fi
69 }
70
71 # See how we were called.
72 RETVAL=0
73 case "$1" in
74   start)
75         start
76         ;;
77   stop)
78         stop
79         ;;
80   status)
81         status rpc.gssd
82         RETVAL=$?
83         ;;
84   restart|reload)
85         stop
86         start
87         ;;
88   *)
89         msg_usage "$0 {start|stop|restart|status}"
90         exit 1
91 esac
92
93 exit $RETVAL
This page took 0.109165 seconds and 3 git commands to generate.