]>
Commit | Line | Data |
---|---|---|
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 | |
ba584e6e | 9 | |
10 | export PATH=/bin:/sbin:/usr/bin:/usr/sbin | |
11 | ||
12 | # Source function library. | |
13 | . /etc/rc.d/init.d/functions | |
14 | ||
15 | # Source networking configuration. | |
16 | . /etc/sysconfig/network | |
17 | ||
18 | # Demon specified configuration. | |
19 | . /etc/sysconfig/samba | |
20 | ||
21 | # Check that networking is up. | |
63e16999 | 22 | if is_yes "${NETWORKING}"; then |
83f05db5 | 23 | if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then |
63e16999 | 24 | msg_network_down smb |
25 | exit 1 | |
26 | fi | |
27 | else | |
28 | exit 0 | |
ecefb8c7 | 29 | fi |
564d701c AF |
30 | |
31 | TMPDIR="/tmp"; export TMPDIR | |
ba584e6e | 32 | |
33 | # Check that smb.conf exists. | |
34 | [ -f /etc/samba/smb.conf ] || exit 0 | |
35 | ||
efca5520 | 36 | RETVAL=0 |
ba584e6e | 37 | # See how we were called. |
38 | case "$1" in | |
39 | start) | |
63e16999 | 40 | # Check if the service is already running? |
41 | if [ ! -f /var/lock/subsys/smb ]; then | |
42 | msg_starting smbd | |
c9022526 | 43 | daemon smbd -D |
63e16999 | 44 | RETVAL=$? |
45 | msg_starting nmbd | |
c9022526 | 46 | daemon nmbd -D |
63e16999 | 47 | [ $RETVAL -eq 0 ] && RETVAL=$? |
caac7426 | 48 | if [ "$WINBINDD" = "yes" ]; then |
adf65709 | 49 | msg_starting winbindd |
c9022526 | 50 | daemon winbindd |
efca5520 | 51 | RET=$? |
52 | [ $RETVAL -eq 0 ] && RETVAL=$RET | |
adf65709 | 53 | fi |
63e16999 | 54 | [ $RETVAL -eq 0 ] && touch /var/lock/subsys/smb |
55 | else | |
56 | msg_already_running smb | |
63e16999 | 57 | fi |
ba584e6e | 58 | ;; |
59 | stop) | |
63e16999 | 60 | # Stop daemons. |
61 | if [ -f /var/lock/subsys/smb ]; then | |
62 | msg_stopping smbd | |
63 | killproc smbd | |
64 | msg_stopping nmbd | |
ecefb8c7 | 65 | killproc nmbd |
caac7426 | 66 | if [ "$WINBINDD" = "yes" ]; then |
adf65709 PG |
67 | msg_stopping winbindd |
68 | killproc winbindd | |
69 | fi | |
63e16999 | 70 | rm -f /var/lock/subsys/smb >/dev/null 2>&1 |
71 | else | |
72 | msg_not_running smb | |
63e16999 | 73 | fi |
ba584e6e | 74 | ;; |
75 | status) | |
76 | status smbd | |
efca5520 | 77 | RETVAL=$? |
ba584e6e | 78 | status nmbd |
efca5520 | 79 | RET=$? |
80 | [ $RETVAL -eq 0 ] && RETVAL=$RET | |
229db67a | 81 | status winbindd |
efca5520 | 82 | RET=$? |
83 | [ $RETVAL -eq 0 ] && RETVAL=$RET | |
ba584e6e | 84 | smbstatus |
85 | ;; | |
86 | restart) | |
87 | $0 stop | |
88 | $0 start | |
efca5520 | 89 | exit $? |
ba584e6e | 90 | ;; |
63e16999 | 91 | reload|force-reload) |
ecefb8c7 | 92 | if [ -f /var/lock/subsys/smb ]; then |
63e16999 | 93 | msg_reloading smb |
94 | killproc smbd -HUP | |
95 | RETVAL=$? | |
ecefb8c7 | 96 | else |
efca5520 | 97 | msg_not_running smb >&2 |
98 | exit 7 | |
63e16999 | 99 | fi |
5b5c4a11 | 100 | ;; |
ba584e6e | 101 | *) |
63e16999 | 102 | msg_usage "$0 {start|stop|restart|reload|force-reload|status}" |
efca5520 | 103 | exit 3 |
ba584e6e | 104 | esac |
105 | ||
ecefb8c7 | 106 | exit $RETVAL |