File: //etc.defaults/init/smbd.conf
description "SMB/CIFS File Server"
author "Network Infrastructure Team"
start on syno.share.ready and syno.auth.ready and syno.network.ready
stop on runlevel [06]
console log
respawn
respawn limit 5 10
pre-start script
GETADDRINFO=1
## make sure getaddrinfo function is work before emit network.ready event
for i in `seq 1 1 5`; do
if /usr/syno/sbin/synobootupcheck --check-network ; then
GETADDRINFO=0
break;
fi
sleep 1 || true
done
if [ "1" = "$GETADDRINFO" ]; then
stop; exit 1
fi
/usr/syno/etc/rc.sysv/S80samba.sh prestart_smbd || true
end script
script
SERVER_ROLE=$(synogetkeyvalue /etc/samba/smb.conf "server role")
if [ -f "/run/samba/synoadserver" ]; then
exec /usr/bin/smbd -D -F \
--configfile="/etc/samba/synoadserver.conf" \
--option="server role check:inhibit=yes" \
;
elif [ "active directory domain controller" = "${SERVER_ROLE,,}" ]; then
exec /usr/bin/smbd -D -F --option="server role check:inhibit=yes"
else
exec /usr/bin/smbd -F
fi
end script
post-start script
/usr/syno/etc/rc.sysv/S80samba.sh poststart_smbd || true
/usr/syno/etc/rc.sysv/avahi.sh smb-conf
end script
post-stop script
/usr/syno/etc/rc.sysv/S80samba.sh poststop_smbd || true
/usr/syno/etc/rc.sysv/avahi.sh avahi-delete-conf || true
end script
# vim: set ft=upstart noet: