summaryrefslogtreecommitdiff
path: root/packaging/RHEL/smb.init
blob: 30d7d403dd935b914a5803bb98d7f645fc6968fc (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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#!/bin/sh
#
# chkconfig: - 91 35
# description: Starts and stops the Samba smbd and nmbd daemons \
#	       used to provide SMB network services.
#
# pidfile: /var/run/samba/smbd.pid
# pidfile: /var/run/samba/nmbd.pid
# config:  /etc/samba/smb.conf


# 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

# Avoid using root's TMPDIR
unset TMPDIR

# Source networking configuration.
. /etc/sysconfig/network

if [ -f /etc/sysconfig/samba ]; then
   . /etc/sysconfig/samba
fi

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

# Check that smb.conf exists.
[ -f /etc/samba/smb.conf ] || exit 0

# Check that we can write to it... so non-root users stop here
[ -w /etc/samba/smb.conf ] || exit 0

# Check whether "netbios disabled" is true
ISNETBIOSDISABLED=$(testparm -s 2>/dev/null | \
	sed -n '/\[global\]/,/^$/p' | \
	grep "disable netbios = Yes" | \
	awk 'BEGIN{FS=" = "}{print $2}')


RETVAL=0


start() {
	KIND="SMB"
	echo -n $"Starting $KIND services: "
	daemon smbd $SMBDOPTIONS
	RETVAL=$?
	echo
	KIND="NMB"
	if [ x"$ISNETBIOSDISABLED" != x"Yes" ]; then
		echo -n $"Starting $KIND services: "
		daemon nmbd $NMBDOPTIONS
		RETVAL2=$?
		echo
		[ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] && touch /var/lock/subsys/smb || \
			RETVAL=1
	else
		[ $RETVAL -eq 0 ] && touch /var/lock/subsys/smb || \
			RETVAL=1
	fi
	return $RETVAL
}	

stop() {
	KIND="SMB"
	echo -n $"Shutting down $KIND services: "
	killproc smbd -TERM
	RETVAL=$?
	[ $RETVAL -eq 0 ] && rm -f /var/run/smbd.pid
	echo
	KIND="NMB"
	if [ x"$ISNETBIOSDISABLED" != x"Yes" ]; then
		echo -n $"Shutting down $KIND services: "
		killproc nmbd -TERM
		RETVAL2=$?
		[ $RETVAL2 -eq 0 ] && rm -f /var/run/nmbd.pid
		[ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] && rm -f /var/lock/subsys/smb 
		echo ""
	else
		[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/smb 
		echo ""
	fi
	return $RETVAL
}	

restart() {
	stop
	start
}	

reload() {
        echo -n $"Reloading smb.conf file: "
	killproc smbd -HUP
	RETVAL=$?
	echo
	return $RETVAL
}	

rhstatus() {
	status smbd
	status nmbd
}	

case "$1" in
  start)
  	start
	;;
  stop)
  	stop
	;;
  restart)
  	restart
	;;
  reload)
  	reload
	;;
  status)
  	rhstatus
	;;
  condrestart)
  	[ -f /var/lock/subsys/smb ] && restart || :
	;;
  *)
	echo $"Usage: $0 {start|stop|restart|reload|status|condrestart}"
	exit 1
esac

exit $?