X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=winbind.init;h=c33bcca59986dbd8a1a2271c325b8d53a3c6857d;hb=2ed17a4a5848eac7d547f35e1f8327d5bab9d7d8;hp=d5d7fb0110079bec235614fffcf57a5a6afe48ad;hpb=edde306a7b86c6d323e3ee7ce5fe346f43e972fd;p=packages%2Fsamba.git diff --git a/winbind.init b/winbind.init old mode 100644 new mode 100755 index d5d7fb0..c33bcca --- a/winbind.init +++ b/winbind.init @@ -2,7 +2,7 @@ # # 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 @@ -14,6 +14,9 @@ export PATH=/bin:/sbin:/usr/bin:/usr/sbin # 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 @@ -29,27 +32,21 @@ 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? +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 @@ -57,15 +54,30 @@ case "$1" in 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 @@ -73,12 +85,19 @@ case "$1" in 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