#!/bin/sh
-#
-# nfs-kernel-server
-# This shell script takes care of starting and stopping
-# the kernel-mode NFS server.
-#
-# chkconfig: 345 60 20
-# description: NFS is a popular protocol for file sharing across TCP/IP \
-# networks. This service provides NFS server functionality, \
-# which is configured via the /etc/exports file.
-#
+
+### BEGIN INIT INFO
+# Provides: nfs-kernel-server
+# Required-Start: $remote_fs nfs-common $portmap $time
+# Required-Stop: $remote_fs nfs-common $portmap $time
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Kernel NFS server support
+# Description: NFS is a popular protocol for file sharing across
+# TCP/IP networks. This service provides NFS server
+# functionality, which is configured via the
+# /etc/exports file.
+### END INIT INFO
# What is this?
DESC="NFS kernel daemon"
RPCNFSDCOUNT=8
RPCNFSDPRIORITY=0
RPCMOUNTDOPTS=
-NEED_SVCGSSD=yes
-RPCGSSDOPTS=
+NEED_SVCGSSD=no
RPCSVCGSSDOPTS=
PROCNFSD_MOUNTPOINT=/proc/fs/nfsd
if [ -f $DEFAULTFILE ]; then
. /lib/lsb/init-functions
do_modprobe() {
- if [ -x /sbin/modprobe ]
+ if [ -x /sbin/modprobe -a -f /proc/modules ]
then
modprobe -q "$1" || true
fi
RPCMOUNTDOPTS="$RPCMOUNTDOPTS --no-nfs-version 3"
[ -z "$ClearAddr" ] || echo "nfsd 127.0.0.1 1" >/proc/net/rpc/auth.unix.ip/channel
+
+ if [ "$NEED_SVCGSSD" = "yes" ]; then
+ do_modprobe rpcsec_gss_krb5
+ log_progress_msg "svcgssd"
+ start-stop-daemon --start --oknodo --quiet \
+ --exec $PREFIX/sbin/rpc.svcgssd -- $RPCSVCGSSDOPTS
+ if [ $? != 0 ]; then
+ log_end_msg $?
+ exit $?
+ fi
+ fi
log_progress_msg "mountd"
start-stop-daemon --start --oknodo --quiet \
stop)
log_daemon_msg "Stopping $DESC"
-
+
log_progress_msg "mountd"
start-stop-daemon --stop --oknodo --quiet \
--name rpc.mountd --user 0
exit $?
fi
+ if [ "$NEED_SVCGSSD" = "yes" ]; then
+ log_progress_msg "svcgssd"
+ start-stop-daemon --stop --oknodo --quiet \
+ --name rpc.svcgssd --user 0
+ if [ $? != 0 ]; then
+ log_end_msg $?
+ exit $?
+ fi
+ fi
+
log_progress_msg "nfsd"
start-stop-daemon --stop --oknodo --quiet \
--name nfsd --user 0 --signal 2
fi
log_end_msg 0
- if mountpoint -q /proc/nfs/nfsd
+ if mountpoint -q $PROCNFSD_MOUNTPOINT
then
$PREFIX/sbin/exportfs -f
fi