A samba-ad-dc.service file for Systemd
Today I found out that after rebooting my Samba4 DC based on Debian Jessie, systemd starts up smbd/nmbd/winbind again instead of samba-ad-dc
. This has to stop, I want my domain back! So I dug around a bit and found that while there is an upstart config and an init script for samba-ad-dc
, there is no systemd service file, so systemd just doesn't know what to do — the init script is nice enough to just go like "hey, I'mma call systemd for this!", which then goes to nirvana.
Since I couldn't find a systemd service definition file, I wrote one myself and put it into /etc/systemd/system/samba-ad-dc.service
(the name is important, otherwise systemd won't find it correctly), yielding the following content:
[Unit] Description=Samba4 AD DC After=network.target remote-fs.target nss-lookup.target [Service] Type=forking ExecStart=/usr/sbin/samba -D PIDFile=/var/run/samba/samba.pid [Install] WantedBy=multi-user.target
Then, I stopped the old daemons, updated the init sequence and started the AD DC again:
systemctl daemon-reload systemctl stop smbd systemctl stop nmbd systemctl stop winbind systemctl disable smbd systemctl disable nmbd systemctl disable winbind systemctl enable samba-ad-dc systemctl start samba-ad-dc
And finally, I have my AD back again!
If you're curious, I sent a bug report to Debian.