]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blame - src/initscripts/packages/samba
suricata: Change midstream policy to "pass-flow"
[people/pmueller/ipfire-2.x.git] / src / initscripts / packages / samba
CommitLineData
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
25function 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
33eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
34
559d3ad2
MT
35case "$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 ;;
123esac