#
# chkconfig: 345 91 35
# description: Starts and stops the Samba winbind daemon to provide\
-# user and group information from a NT domain controller to linux.
+# user and group information from a NT domain controller to linux.
#
# config: /etc/samba/smb.conf
# Source networking configuration.
. /etc/sysconfig/network
+# Daemon specific configuration.
+. /etc/sysconfig/winbind
+
# Check that networking is up.
if is_yes "${NETWORKING}"; then
if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
# 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?
+start() {
if [ ! -f /var/lock/subsys/winbind ]; then
- if [ "`grep -i 'idmap uid' /etc/samba/smb.conf | egrep -v [\#\;]`" -a "`grep -i 'idmap gid' /etc/samba/smb.conf | egrep -v [\#\;]`" ]; then
- msg_starting winbindd
- daemon winbindd
- RETVAL=$?
- [ $RETVAL -eq 0] && touch /var/lock/subsys/winbind || \
+ msg_starting winbindd
+ daemon /usr/sbin/winbindd
+ RETVAL=$?
+ if [ $RETVAL -eq 0 ]; then
+ touch /var/lock/subsys/winbind
RETVAL=1
- else
- nls "Winbind is not configured in /etc/samba/smb.conf, not starting"
fi
else
msg_already_running winbindd
fi
- ;;
- stop)
- # Stop daemon.
+}
+
+stop() {
if [ -f /var/lock/subsys/winbind ]; then
msg_stopping winbindd
killproc winbindd
else
msg_not_running winbindd
fi
+}
+
+condrestart() {
+ if [ -f /var/lock/subsys/winbind ]; then
+ stop
+ start
+ else
+ msg_not_running winbindd
+ RETVAL=$1
+ fi
+}
+
+RETVAL=0
+# See how we were called.
+case "$1" in
+ start)
+ start
;;
- status)
- status winbindd
- RETVAL=$?
+ stop)
+ stop
;;
restart)
- $0 stop
- $0 start
- exit $?
+ stop
+ start
;;
reload|force-reload)
if [ -f /var/lock/subsys/winbind ]; then
killproc winbindd -HUP
RETVAL=$?
else
- msg_not_running winbindd >&2
+ msg_not_running winbindd
exit 7
fi
;;
+ try-restart)
+ condrestart 0
+ ;;
+ status)
+ status winbindd
+ RETVAL=$?
+ ;;
*)
- msg_usage "$0 {start|stop|restart|reload|force-reload|status}"
+ msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status}"
exit 3
esac