[Samba] Problems with rpcd helpers not restarting after config changes and updates
Matthias Kühne | Ellerhold Aktiengesellschaft
matthias.kuehne at ellerhold.de
Thu Jan 16 12:50:28 UTC 2025
Hello lovely samba-people,
in the last year we had some problems with the rpcd helpers: they dont
restart after a config change or an upgrade. We think
https://lists.samba.org/archive/samba/2024-July/249470.html is a symptom
of it. Other errors included that samba-ad-dc did not work properly
until restarting the whole server. The upgrade to 4.21.3 took down our
whole ERP software, because the ad-dc somehow broke.
Well we think that running newer samba-ad-dc with the old rpc helpers is
the culprit here (this may be wrong though).
In Samba 4.16 a new helper was added: samba-dcerpcd. This binary starts
the rpcd helpers as needed. Normally (rpc start on demand helpers = yes
(the default)) it is started by smbd, winbind or samba-ad-dc on demand
and detaches after. So restarting the aforementioned processes does not
restart dcerpcd or the rpcd helpers. Thanks to Ralph Böhme of SerNet for
explaining all of this!
The solution is to set "rpc start on demand helpers = no" in your
smb.conf and add a new systemd service:
[Unit]
Description=Samba DCERPCD Server process
Before=smbd.service winbind.service samba-ad-dc.service
PartOf=smbd.service winbind.service samba-ad-dc.service
[Service]
ExecStart=/usr/libexec/samba/samba-dcerpcd --foreground --libexec-rpcds
--debuglevel=0
[Install]
WantedBy=multi-user.target
Additionally you need this systemd overrides for smbd, winbind,
samba-ad-dc and possibily nmbd, put this file into
/etc/systemd/system/{smbd,winbind,nmbd,samba-ad-dc}.service.d/override.conf
[Unit]
Requires=samba-dcerpcd.service
After that: systemctl daemon-reload && systemctl stop smbd nmbd winbind
samba-ad-dc && systemctl enable samba-dcerpcd && systemctl start
samba-dcerpcd
And now start your needed services:
fileserver: systemctl start smbd nmbd winbind samba-dcerpcd
dc: fileserver: systemctl start samba-ad-dc samba-dcerpcd
Verify everything is working.
The goal is that samba-dcerpcd restarts when on of the other services
restarts. So that systemctl restart smbd also restarts samba-dcerpcd !
Im hoping that with this change, our upgrade-problems are gone. And I
hope I can help some of you out there.
@mjt: Can you somehow bring this change to the debian packages please?
The change in the smb.conf is tricky though, so idk how you can package
that. But providing a samba-dcerpcd.service file thats disabled and
restarting it in postinstall would be great!
--
Senior Webentwickler
Datenschutzbeauftragter
Ellerhold Aktiengesellschaft
Friedrich-List-Str. 4
01445 Radebeul
Telefon: +49 (0) 351 83933-61
Web: www.ellerhold.de
Facebook: www.facebook.com/ellerhold.gruppe
Instagram: www.instagram.com/ellerhold.gruppe
LinkedIn: www.linkedin.com/company/ellerhold-gruppe
Amtsgericht Dresden / HRB 23769
Vorstand: Stephan Ellerhold, Maximilian Ellerhold
Vorsitzender des Aufsichtsrates: Frank Ellerhold
---Diese E-Mail und Ihre Anlagen enthalten vertrauliche Mitteilungen. Sollten Sie nicht der beabsichtigte Adressat sein, so bitten wir Sie um Mitteilung und um sofortiges löschen dieser E-Mail und der Anlagen.
Unsere Hinweise zum Datenschutz finden Sie hier: http://www.ellerhold.de/datenschutz/
This e-mail and its attachments are privileged and confidential. If you are not the intended recipient, please notify us and immediately delete this e-mail and its attachments.
You can find our privacy policy here: http://www.ellerhold.de/datenschutz/
More information about the samba
mailing list