]>
Commit | Line | Data |
---|---|---|
559d3ad2 | 1 | #!/bin/sh |
66c36198 PM |
2 | ############################################################################### |
3 | # # | |
4 | # IPFire.org - A linux based firewall # | |
b1e521c8 | 5 | # Copyright (C) 2007-2024 IPFire Team <info@ipfire.org> # |
66c36198 PM |
6 | # # |
7 | # This program is free software: you can redistribute it and/or modify # | |
8 | # it under the terms of the GNU General Public License as published by # | |
9 | # the Free Software Foundation, either version 3 of the License, or # | |
10 | # (at your option) any later version. # | |
11 | # # | |
12 | # This program is distributed in the hope that it will be useful, # | |
13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of # | |
14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # | |
15 | # GNU General Public License for more details. # | |
16 | # # | |
17 | # You should have received a copy of the GNU General Public License # | |
18 | # along with this program. If not, see <http://www.gnu.org/licenses/>. # | |
19 | # # | |
20 | ############################################################################### | |
559d3ad2 | 21 | |
559d3ad2 MT |
22 | . /etc/sysconfig/rc |
23 | . $rc_functions | |
24 | ||
88921935 MT |
25 | function fix_permissions() { |
26 | local lockdir="/var/lib/samba/winbindd_privileged" | |
88921935 MT |
27 | chmod 750 "${lockdir}" |
28 | chgrp wbpriv "${lockdir}" | |
b5efeaa0 AF |
29 | |
30 | mkdir -p /var/run/samba/{nmbd,ncalrpc,winbindd} | |
88921935 MT |
31 | } |
32 | ||
b1e521c8 AB |
33 | eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings) |
34 | ||
559d3ad2 MT |
35 | case "$1" in |
36 | start) | |
88921935 MT |
37 | fix_permissions |
38 | ||
559d3ad2 MT |
39 | boot_mesg "Starting nmbd..." |
40 | loadproc /usr/sbin/nmbd -D | |
41 | ||
42 | boot_mesg "Starting smbd..." | |
43 | loadproc /usr/sbin/smbd -D | |
be2817a7 MT |
44 | |
45 | boot_mesg "Starting winbind..." | |
46 | loadproc /usr/sbin/winbindd | |
b1e521c8 AB |
47 | |
48 | # Arguments for wsdd command | |
49 | ARGS=( | |
50 | # Launch as non-privileged user | |
51 | "--user" "wsdd:wsdd" | |
52 | ||
53 | # Launch in chroot | |
54 | "--chroot" "/var/run/wsdd" | |
55 | ||
56 | # Only use IPv4 | |
57 | "--ipv4only" | |
58 | ||
59 | # Configure the workgroup | |
60 | "--workgroup" "$(testparm -s --parameter-name workgroup 2>/dev/null)" | |
61 | ) | |
62 | ||
63 | # Conditionally add the GREEN/BLUE interface | |
64 | for intf in GREEN_DEV BLUE_DEV; do | |
65 | if [ -n "${!intf}" ]; then | |
66 | ARGS+=( "--interface" "${!intf}" ) | |
67 | fi | |
68 | done | |
69 | ||
70 | # Create chroot directory for wsdd | |
71 | mkdir -p /var/run/wsdd | |
72 | ||
73 | PIDFILE="/var/run/wsdd.pid" | |
74 | boot_mesg "Starting Web Service Discovery Host Daemon..." | |
75 | loadproc -b -p "${PIDFILE}" /usr/bin/wsdd "${ARGS[@]}" | |
559d3ad2 MT |
76 | ;; |
77 | ||
78 | stop) | |
79 | boot_mesg "Stopping smbd..." | |
31cbb589 | 80 | killproc /usr/sbin/smbd |
559d3ad2 MT |
81 | |
82 | boot_mesg "Stopping nmbd..." | |
31cbb589 | 83 | killproc /usr/sbin/nmbd |
be2817a7 MT |
84 | |
85 | boot_mesg "Stopping winbind..." | |
31cbb589 | 86 | killproc /usr/sbin/winbindd |
b1e521c8 AB |
87 | |
88 | PIDFILE="/var/run/wsdd.pid" | |
89 | boot_mesg "Stopping Web Service Discovery Host Daemon..." | |
90 | killproc -p "${PIDFILE}" /usr/bin/wsdd | |
559d3ad2 MT |
91 | ;; |
92 | ||
93 | reload) | |
94 | boot_mesg "Reloading smbd..." | |
95 | reloadproc /usr/sbin/smbd | |
96 | ||
97 | boot_mesg "Reloading nmbd..." | |
98 | reloadproc /usr/sbin/nmbd | |
be2817a7 MT |
99 | |
100 | boot_mesg "Reloading winbind..." | |
101 | reloadproc /usr/sbin/winbindd | |
559d3ad2 MT |
102 | ;; |
103 | ||
104 | restart) | |
105 | $0 stop | |
cb5e9c6c | 106 | sleep 3 |
559d3ad2 MT |
107 | $0 start |
108 | ;; | |
109 | ||
110 | status) | |
111 | statusproc /usr/sbin/nmbd | |
112 | statusproc /usr/sbin/smbd | |
be2817a7 | 113 | statusproc /usr/sbin/winbindd |
b1e521c8 AB |
114 | |
115 | PIDFILE="/var/run/wsdd.pid" | |
116 | statusproc /usr/bin/wsdd | |
559d3ad2 MT |
117 | ;; |
118 | ||
119 | *) | |
120 | echo "Usage: $0 {start|stop|reload|restart|status}" | |
121 | exit 1 | |
122 | ;; | |
123 | esac |