summaryrefslogtreecommitdiff
path: root/debian/winbind.init
blob: 6c0ec057783593f902b51353dc9206c2ca0d29c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#!/bin/sh

### BEGIN INIT INFO
# Provides:          winbind
# Required-Start:    $network $remote_fs $syslog
# Required-Stop:     $network $remote_fs $syslog
# Should-Start:      samba
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: start Winbind daemon
### END INIT INFO


PATH=/sbin:/bin:/usr/sbin:/usr/bin

[ -r /etc/default/winbind ] && . /etc/default/winbind

DAEMON=/usr/sbin/winbindd
PIDDIR=/var/run/samba
WINBINDPID=$PIDDIR/winbindd.pid

# clear conflicting settings from the environment
unset TMPDIR

# See if the daemon is there
test -x $DAEMON || exit 0

SERVER_ROLE=`samba-tool testparm --parameter-name="server role"  2>/dev/null | tail -1`
if [ "$SERVER_ROLE" = "active directory domain controller" ]; then
    exit 0
fi

. /lib/lsb/init-functions

case "$1" in
	start)
		if init_is_upstart; then
			exit 1
		fi
		log_daemon_msg "Starting the Winbind daemon" "winbind"

		mkdir -p /var/run/samba/winbindd_privileged || return 1
		chgrp winbindd_priv $PIDDIR/winbindd_privileged/ || return 1
		chmod 0750 $PIDDIR/winbindd_privileged/ || return 1
		start-stop-daemon --start --quiet --oknodo --exec $DAEMON -- $WINBINDD_OPTS

		log_end_msg $?
		;;

	stop)
		if init_is_upstart; then
			exit 0
		fi
		log_daemon_msg "Stopping the Winbind daemon" "winbind"
		start-stop-daemon --stop --quiet --oknodo --exec $DAEMON
		log_end_msg $?
		;;

	restart|force-reload)
		if init_is_upstart; then
			exit 1
		fi
		$0 stop && sleep 2 && $0 start
		;;

	status)
		status_of_proc -p $WINBINDPID $DAEMON winbind && exit 0 || exit $?
		;;
	*)
		echo "Usage: /etc/init.d/winbind {start|stop|restart|force-reload|status}"
		exit 1
		;;
esac