]> git.pld-linux.org Git - packages/samba.git/blame - smb.init
- don't try to stop nmbd or check its status if it is disabled
[packages/samba.git] / smb.init
CommitLineData
c9815d06 1#!/bin/sh
ba584e6e 2#
c9815d06 3# chkconfig: 345 91 35
4# description: Starts and stops the Samba smbd and nmbd daemons \
5# used to provide SMB network services.
6#
7# config: /etc/samba/smb.conf
8# config: /etc/samba/lmhosts
407b2a8a
ER
9# processname: nmbd
10# processname: smbd
ba584e6e 11
ba584e6e 12# Source function library.
13. /etc/rc.d/init.d/functions
14
15# Source networking configuration.
16. /etc/sysconfig/network
17
b80ab7b1
ER
18# Set default config
19CFGFILE="/etc/samba/smb.conf"
83f3f4f5
ER
20smbd_pidfile="/var/run/samba/smbd.pid"
21nmbd_pidfile="/var/run/samba/nmbd.pid"
bad911ca 22lockname=smb
b80ab7b1 23
ba584e6e 24# Demon specified configuration.
25. /etc/sysconfig/samba
26
27# Check that networking is up.
63e16999 28if is_yes "${NETWORKING}"; then
83f05db5 29 if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
66b3f2a3 30 msg_network_down "Samba SMB/CIFS Server"
63e16999 31 exit 1
32 fi
33else
34 exit 0
ecefb8c7 35fi
564d701c 36
83f3f4f5 37export TMPDIR=/tmp
146d4be0 38unset TMP || :
ba584e6e 39
15fc6630 40start() {
03252be7
ER
41 SERVER_ROLE=$(samba-tool testparm --parameter-name="server role" 2>/dev/null | tail -n1)
42 if [ "$SERVER_ROLE" = "active directory domain controller" ]; then
43 exit 0
44 fi
45
63e16999 46 # Check if the service is already running?
bad911ca 47 if [ -f /var/lock/subsys/$lockname ]; then
66b3f2a3
ER
48 msg_already_running "Samba SMB/CIFS Server"
49 return
50 fi
51
52 msg_starting "Samba SMB/CIFS Server"
53 daemon /usr/sbin/smbd -D -s $CFGFILE
54 RETVAL=$?
521b2775
JR
55 NMBD_DISABLED=`testparm -s --parameter-name='disable netbios' 2>/dev/null`
56 if [ "$NMBD_DISABLED" != Yes ]; then
57 msg_starting "Samba NetBIOS Name Server"
58 daemon /usr/sbin/nmbd -D $CFGFILE
59 [ $RETVAL -eq 0 ] && RETVAL=$?
60 fi
66b3f2a3 61 if [ $RETVAL -eq 0 ]; then
bad911ca 62 touch /var/lock/subsys/$lockname
63e16999 63 fi
15fc6630
ER
64}
65
66stop() {
63e16999 67 # Stop daemons.
bad911ca 68 if [ ! -f /var/lock/subsys/$lockname ]; then
66b3f2a3
ER
69 msg_not_running "Samba SMB/CIFS Server"
70 return
63e16999 71 fi
66b3f2a3
ER
72
73 msg_stopping "Samba SMB/CIFS Server"
fe133678
ER
74 killproc --pidfile $smbd_pidfile smbd
75
8e0e3135
MK
76 NMBD_DISABLED=`testparm -s --parameter-name='disable netbios' 2>/dev/null`
77 if [ "$NMBD_DISABLED" != Yes ]; then
78 msg_stopping "Samba NetBIOS Name Server"
79 killproc --pidfile $nmbd_pidfile nmbd
80 fi
bad911ca 81 rm -f /var/lock/subsys/$lockname >/dev/null 2>&1
66b3f2a3
ER
82}
83
84reload() {
bad911ca 85 if [ ! -f /var/lock/subsys/$lockname ]; then
66b3f2a3
ER
86 msg_not_running "Samba SMB/CIFS Server"
87 RETVAL=7
88 return
89 fi
90
91 msg_reloading "Samba SMB/CIFS Server"
fe133678 92 killproc --pidfile $smbd_pidfile smbd -HUP
66b3f2a3 93 RETVAL=$?
15fc6630
ER
94}
95
ff434ea4 96condrestart() {
bad911ca 97 if [ ! -f /var/lock/subsys/$lockname ]; then
66b3f2a3 98 msg_not_running "Samba SMB/CIFS Server"
ff434ea4 99 RETVAL=$1
66b3f2a3 100 return
ff434ea4 101 fi
66b3f2a3
ER
102
103 stop
104 start
105}
106
107rc_status() {
108 status smbd
109 RETVAL=$?
8e0e3135
MK
110 NMBD_DISABLED=`testparm -s --parameter-name='disable netbios' 2>/dev/null`
111 if [ "$NMBD_DISABLED" != Yes ]; then
112 status nmbd
113 RET=$?
114 [ $RETVAL -eq 0 ] && RETVAL=$RET
115 fi
ff434ea4
JB
116}
117
15fc6630
ER
118RETVAL=0
119# See how we were called.
120case "$1" in
121 start)
ff434ea4 122 start
15fc6630
ER
123 ;;
124 stop)
ff434ea4 125 stop
ba584e6e 126 ;;
127 restart)
15fc6630
ER
128 stop
129 start
ba584e6e 130 ;;
ff434ea4
JB
131 try-restart)
132 condrestart 0
133 ;;
63e16999 134 reload|force-reload)
66b3f2a3 135 reload
5b5c4a11 136 ;;
ff434ea4 137 status)
66b3f2a3 138 rc_status
ff434ea4 139 ;;
ba584e6e 140 *)
ff434ea4 141 msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status}"
efca5520 142 exit 3
ba584e6e 143esac
144
ecefb8c7 145exit $RETVAL
This page took 0.971327 seconds and 4 git commands to generate.