#!/bin/sh # # chkconfig: 345 81 45 # description: Starts and stops the Samba winbind daemon to provide \ # user and group information from a domain controller to linux. # 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 # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 # Check that smb.conf exists. [ -f /etc/samba/smb.conf ] || exit 0 RETVAL=0 start() { echo -n "Starting Winbind services: " RETVAL=1 if [ "`grep -i -E '(idmap|winbind) uid' /etc/samba/smb.conf | egrep -v [\#\;]`" -a "`grep -i -E '(idmap|winbind) gid' /etc/samba/smb.conf | egrep -v [\#\;]`" ]; then daemon winbindd RETVAL=$? else echo "Winbind is not configured in /etc/samba/smb.conf, not starting" fi echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/winbind || \ RETVAL=1 return $RETVAL } stop() { echo -n "Shutting down Winbind services: " RETVAL=1 if [ "`grep -i 'winbind uid' /etc/samba/smb.conf | egrep -v [\#\;]`" -a "`grep -i 'idmap gid' /etc/samba/smb.conf | egrep -v [\#\;]`" ]; then killproc winbindd RETVAL=$? fi echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/winbind return $RETVAL } restart() { stop start } reload() { export TMPDIR="/var/tmp" echo -n "Checking domain trusts: " killproc winbindd -HUP RETVAL=$? echo return $RETVAL } mdkstatus() { status winbindd } case "$1" in start) start ;; stop) stop ;; restart) restart ;; reload) reload ;; status) mdkstatus ;; condrestart) [ -f /var/lock/subsys/winbindd ] && restart || : ;; *) echo "Usage: $0 {start|stop|restart|status|condrestart}" exit 1 esac exit $?