]> git.pld-linux.org Git - packages/samba.git/blob - smb.init
up to 4.20.1
[packages/samba.git] / smb.init
1 #!/bin/sh
2 #
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
9 # processname:  nmbd
10 # processname:  smbd
11
12 # Source function library.
13 . /etc/rc.d/init.d/functions
14
15 # Source networking configuration.
16 . /etc/sysconfig/network
17
18 # Set default config
19 CFGFILE="/etc/samba/smb.conf"
20 smbd_pidfile="/var/run/samba/smbd.pid"
21 nmbd_pidfile="/var/run/samba/nmbd.pid"
22 lockname=smb
23
24 # Demon specified configuration.
25 . /etc/sysconfig/samba
26
27 # Check that networking is up.
28 if is_yes "${NETWORKING}"; then
29         if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
30                 msg_network_down "Samba SMB/CIFS Server"
31                 exit 1
32         fi
33 else
34         exit 0
35 fi
36
37 export TMPDIR=/tmp
38 unset TMP || :
39
40 start() {
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
46         # Check if the service is already running?
47         if [ -f /var/lock/subsys/$lockname ]; then
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=$?
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
61         if [ $RETVAL -eq 0 ]; then
62                 touch /var/lock/subsys/$lockname
63         fi
64 }
65
66 stop() {
67         # Stop daemons.
68         if [ ! -f /var/lock/subsys/$lockname ]; then
69                 msg_not_running "Samba SMB/CIFS Server"
70                 return
71         fi
72
73         msg_stopping "Samba SMB/CIFS Server"
74         killproc --pidfile $smbd_pidfile smbd
75
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
81         rm -f /var/lock/subsys/$lockname >/dev/null 2>&1
82 }
83
84 reload() {
85         if [ ! -f /var/lock/subsys/$lockname ]; then
86                 msg_not_running "Samba SMB/CIFS Server"
87                 RETVAL=7
88                 return
89         fi
90
91         msg_reloading "Samba SMB/CIFS Server"
92         killproc --pidfile $smbd_pidfile smbd -HUP
93         RETVAL=$?
94 }
95
96 condrestart() {
97         if [ ! -f /var/lock/subsys/$lockname ]; then
98                 msg_not_running "Samba SMB/CIFS Server"
99                 RETVAL=$1
100                 return
101         fi
102
103         stop
104         start
105 }
106
107 rc_status() {
108         status smbd
109         RETVAL=$?
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
116 }
117
118 RETVAL=0
119 # See how we were called.
120 case "$1" in
121   start)
122         start
123         ;;
124   stop)
125         stop
126         ;;
127   restart)
128         stop
129         start
130         ;;
131   try-restart)
132         condrestart 0
133         ;;
134   reload|force-reload)
135         reload
136         ;;
137   status)
138         rc_status
139         ;;
140   *)
141         msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status}"
142         exit 3
143 esac
144
145 exit $RETVAL
This page took 0.095041 seconds and 4 git commands to generate.