#!/bin/sh # # chkconfig: 345 91 35 # description: Starts and stops the Samba smbd and nmbd daemons \ # used to provide SMB network services. # # config: /etc/samba/smb.conf # config: /etc/samba/lmhosts export PATH=/bin:/sbin:/usr/bin:/usr/sbin # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Demon specified configuration. . /etc/sysconfig/samba # Check that networking is up. if is_yes "${NETWORKING}"; then if [ ! -f /var/lock/subsys/network -a != stop -a != status ]; then msg_network_down smb exit 1 fi else exit 0 fi TMPDIR="/tmp"; export TMPDIR # Check that smb.conf exists. [ -f /etc/samba/smb.conf ] || exit 0 RETVAL=0 # See how we were called. case "$1" in start) # Check if the service is already running? if [ ! -f /var/lock/subsys/smb ]; then msg_starting smbd daemon $NICELEVEL smbd -D RETVAL=$? msg_starting nmbd daemon $NICELEVEL nmbd -D [ $RETVAL -eq 0 ] && RETVAL=$? if [ "$WINBINDD" = "yes" ]; then msg_starting winbindd daemon $NICELEVEL winbindd RET=$? [ $RETVAL -eq 0 ] && RETVAL=$RET fi [ $RETVAL -eq 0 ] && touch /var/lock/subsys/smb else msg_already_running smb fi ;; stop) # Stop daemons. if [ -f /var/lock/subsys/smb ]; then msg_stopping smbd killproc smbd msg_stopping nmbd killproc nmbd if [ "$WINBINDD" = "yes" ]; then msg_stopping winbindd killproc winbindd fi rm -f /var/lock/subsys/smb >/dev/null 2>&1 else msg_not_running smb fi ;; status) status smbd RETVAL=$? status nmbd RET=$? [ $RETVAL -eq 0 ] && RETVAL=$RET status winbindd RET=$? [ $RETVAL -eq 0 ] && RETVAL=$RET smbstatus ;; restart) $0 stop $0 start exit $? ;; reload|force-reload) if [ -f /var/lock/subsys/smb ]; then msg_reloading smb killproc smbd -HUP RETVAL=$? else msg_not_running smb >&2 exit 7 fi ;; *) msg_usage "$0 {start|stop|restart|reload|force-reload|status}" exit 3 esac exit $RETVAL