ssorce 21b7b94
#!/bin/sh
ssorce 21b7b94
#
ssorce 21b7b94
# chkconfig: - 91 35
ssorce 21b7b94
# description: Starts and stops the Samba smbd and nmbd daemons \
ssorce 21b7b94
#	       used to provide SMB network services.
ssorce 21b7b94
#
ssorce 21b7b94
# pidfile: /var/run/samba/nmbd.pid
ssorce 21b7b94
# config:  /etc/samba/smb.conf
ssorce 21b7b94
ssorce 21b7b94
ssorce 21b7b94
# Source function library.
ssorce 21b7b94
if [ -f /etc/init.d/functions ] ; then
ssorce 21b7b94
  . /etc/init.d/functions
ssorce 21b7b94
elif [ -f /etc/rc.d/init.d/functions ] ; then
ssorce 21b7b94
  . /etc/rc.d/init.d/functions
ssorce 21b7b94
else
0bcde84
  exit 1
ssorce 21b7b94
fi
ssorce 21b7b94
ssorce 21b7b94
# Avoid using root's TMPDIR
ssorce 21b7b94
unset TMPDIR
ssorce 21b7b94
ssorce 21b7b94
# Source networking configuration.
ssorce 21b7b94
. /etc/sysconfig/network
ssorce 21b7b94
ssorce 21b7b94
if [ -f /etc/sysconfig/samba ]; then
ssorce 21b7b94
   . /etc/sysconfig/samba
ssorce 21b7b94
fi
ssorce 21b7b94
ssorce 21b7b94
# Check that networking is up.
0bcde84
[ ${NETWORKING} = "no" ] && exit 1
ssorce 21b7b94
ssorce 21b7b94
# Check that smb.conf exists.
0bcde84
[ -f /etc/samba/smb.conf ] || exit 6
ssorce 21b7b94
ssorce 21b7b94
RETVAL=0
ssorce 21b7b94
ssorce 21b7b94
ssorce 21b7b94
start() {
ssorce 21b7b94
        KIND="NMB"
ssorce 21b7b94
	echo -n $"Starting $KIND services: "
ssorce 21b7b94
	daemon nmbd $NMBDOPTIONS
ssorce 21b7b94
	RETVAL=$?
ssorce 21b7b94
	echo
ssorce 21b7b94
	[ $RETVAL -eq 0 ] && touch /var/lock/subsys/nmb || \
ssorce 21b7b94
	   RETVAL=1
ssorce 21b7b94
	return $RETVAL
ssorce 21b7b94
}	
ssorce 21b7b94
ssorce 21b7b94
stop() {
ssorce 21b7b94
	KIND="NMB"
ssorce 21b7b94
	echo -n $"Shutting down $KIND services: "
ssorce 21b7b94
	killproc nmbd
ssorce 21b7b94
	RETVAL=$?
ssorce 21b7b94
	echo
ssorce 21b7b94
	[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/nmb
ssorce 21b7b94
	return $RETVAL
ssorce 21b7b94
}	
ssorce 21b7b94
ssorce 21b7b94
restart() {
ssorce 21b7b94
	stop
ssorce 21b7b94
	start
ssorce 21b7b94
}	
ssorce 21b7b94
ssorce 21b7b94
reload() {
ssorce 21b7b94
        echo -n $"Reloading smb.conf file: "
ssorce 21b7b94
	killproc smbd -HUP
ssorce 21b7b94
	RETVAL=$?
ssorce 21b7b94
	echo
ssorce 21b7b94
	return $RETVAL
ssorce 21b7b94
}	
ssorce 21b7b94
ssorce 21b7b94
rhstatus() {
ssorce 21b7b94
	status nmbd
0bcde84
	return $?
ssorce 21b7b94
}	
ssorce 21b7b94
ssorce 21b7b94
ssorce 21b7b94
# Allow status as non-root.
ssorce 21b7b94
if [ "$1" = status ]; then
ssorce 21b7b94
       rhstatus
ssorce 21b7b94
       exit $?
ssorce 21b7b94
fi
ssorce 21b7b94
ssorce 21b7b94
# Check that we can write to it... so non-root users stop here
0bcde84
[ -w /etc/samba/smb.conf ] || exit 4
ssorce 21b7b94
ssorce 21b7b94
ssorce 21b7b94
ssorce 21b7b94
case "$1" in
ssorce 21b7b94
  start)
ssorce 21b7b94
  	start
ssorce 21b7b94
	;;
ssorce 21b7b94
  stop)
ssorce 21b7b94
  	stop
ssorce 21b7b94
	;;
ssorce 21b7b94
  restart)
ssorce 21b7b94
  	restart
ssorce 21b7b94
	;;
ssorce 21b7b94
  reload)
ssorce 21b7b94
  	reload
ssorce 21b7b94
	;;
ssorce 21b7b94
  status)
ssorce 21b7b94
  	rhstatus
ssorce 21b7b94
	;;
ssorce 21b7b94
  condrestart)
ssorce 21b7b94
  	[ -f /var/lock/subsys/nmb ] && restart || :
ssorce 21b7b94
	;;
ssorce 21b7b94
  *)
ssorce 21b7b94
	echo $"Usage: $0 {start|stop|restart|reload|status|condrestart}"
0bcde84
	exit 2
ssorce 21b7b94
esac
ssorce 21b7b94
ssorce 21b7b94
exit $?