#!/bin/sh # # chkconfig: - 91 35 # description: Starts and stops the Samba smbd and nmbd daemons \ # used to provide SMB network services. # # pidfile: /var/run/samba/smbd.pid # pidfile: /var/run/samba/nmbd.pid # config: /etc/samba/smb.conf # Source function library. if [ -f /etc/init.d/functions ] ; then . /etc/init.d/functions elif [ -f /etc/rc.d/init.d/functions ] ; then . /etc/rc.d/init.d/functions else exit 0 fi # Avoid using root's TMPDIR unset TMPDIR # Source networking configuration. . /etc/sysconfig/network if [ -f /etc/sysconfig/samba ]; then . /etc/sysconfig/samba fi # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 # Check that smb.conf exists. [ -f /etc/samba/smb.conf ] || exit 0 # Check that we can write to it... so non-root users stop here [ -w /etc/samba/smb.conf ] || exit 0 # Check whether "netbios disabled" is true #ISNETBIOSDISABLED=$(testparm -s 2>/dev/null | \ # sed -n '/\[global\]/,/^$/p' | \ # grep "disable netbios = Yes" | \ # awk 'BEGIN{FS=" = "}{print $2}') ISNETBIOSDISABLED=Yes RETVAL=0 start() { KIND="SMB" echo -n $"Starting $KIND services: " daemon smbd $SMBDOPTIONS RETVAL=$? echo KIND="NMB" if [ x"$ISNETBIOSDISABLED" != x"Yes" ]; then echo -n $"Starting $KIND services: " daemon nmbd $NMBDOPTIONS RETVAL2=$? echo [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] && touch /var/lock/subsys/smb || \ RETVAL=1 else [ $RETVAL -eq 0 ] && touch /var/lock/subsys/smb || \ RETVAL=1 fi return $RETVAL } stop() { KIND="SMB" echo -n $"Shutting down $KIND services: " killproc smbd RETVAL=$? [ $RETVAL -eq 0 ] && rm -f /var/run/smbd.pid echo KIND="NMB" if [ x"$ISNETBIOSDISABLED" != x"Yes" ]; then echo -n $"Shutting down $KIND services: " killproc nmbd RETVAL2=$? [ $RETVAL2 -eq 0 ] && rm -f /var/run/nmbd.pid [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] && rm -f /var/lock/subsys/smb echo "" else [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/smb echo "" fi return $RETVAL } restart() { stop start } reload() { echo -n $"Reloading smb.conf file: " killproc smbd -HUP RETVAL=$? echo return $RETVAL } rhstatus() { status smbd status nmbd } case "$1" in start) start ;; stop) stop ;; restart) restart ;; reload) reload ;; status) rhstatus ;; condrestart) [ -f /var/lock/subsys/smb ] && restart || : ;; *) echo $"Usage: $0 {start|stop|restart|reload|status|condrestart}" exit 1 esac exit $?