Managing the Samba AD DC Service Using Systemd: Difference between revisions
Mmuehlfeld (talk | contribs) (Restored formatting, Removed Debian-specific content. We should document distro-neutral. I converted the information into something general at the beginning.) |
|||
Line 2: | Line 2: | ||
The following describes how to use <code>systemd</code> to manage the Samba Active Directory (AD) domain controller (DC) service. For further details about <code>systemd</code>, see https://wiki.freedesktop.org/www/Software/systemd/. |
The following describes how to use <code>systemd</code> to manage the Samba Active Directory (AD) domain controller (DC) service. For further details about <code>systemd</code>, see https://wiki.freedesktop.org/www/Software/systemd/. |
||
== The <code>samba</code> Service == |
|||
On a DC, the <code>/usr/local/samba/sbin/samba</code> service automatically starts the required <code>smbd</code> and <code>winbindd</code> service as sub-processes. If you start them manually, the Samba DC fails to work as expected. If you package provider created additional Samba service files, disable and mask them to prevent that other services re-enable them. For example: |
|||
⚫ | |||
⚫ | |||
For further details about permanently disabling services, see the <code>systemd</code> documentation. |
|||
Line 23: | Line 34: | ||
PIDFile=/usr/local/samba/var/run/samba.pid |
PIDFile=/usr/local/samba/var/run/samba.pid |
||
ExecReload=/bin/kill -HUP $MAINPID |
ExecReload=/bin/kill -HUP $MAINPID |
||
[Install] |
[Install] |
||
Line 33: | Line 43: | ||
# systemctl daemon-reload |
# systemctl daemon-reload |
||
= Managing the Samba AD DC Service = |
= Managing the Samba AD DC Service = |
||
Line 50: | Line 64: | ||
# systemctl disable samba-ad-dc |
# systemctl disable samba-ad-dc |
||
If you had Debian Samba installed before, make sure you purge the packages also, you can use the following commands to correct the systemd startup if you have problems to make sure this is correct. |
|||
⚫ | |||
⚫ | |||
Please not that winbind should not be started, this is handled by samba-ad-dc. |
|||
== Manually Starting and Stopping the Samba AD DC Service == |
== Manually Starting and Stopping the Samba AD DC Service == |
Revision as of 15:57, 25 September 2017
Introduction
The following describes how to use systemd
to manage the Samba Active Directory (AD) domain controller (DC) service. For further details about systemd
, see https://wiki.freedesktop.org/www/Software/systemd/.
The samba
Service
On a DC, the /usr/local/samba/sbin/samba
service automatically starts the required smbd
and winbindd
service as sub-processes. If you start them manually, the Samba DC fails to work as expected. If you package provider created additional Samba service files, disable and mask them to prevent that other services re-enable them. For example:
# systemctl mask smbd nmbd winbind # systemctl disable smbd nmbd winbind
For further details about permanently disabling services, see the systemd
documentation.
Creating the systemd
Service File
Samba does not provide a systemd
service file. When you built the Samba Active Directory (AD) domain controller (DC) from the sources, you must manually create the service file to enable systemd
to manage the Samba AD DC service:
- Create the
/etc/systemd/system/samba-ad-dc.service
file with the following content:
[Unit] Description=Samba Active Directory Domain Controller After=network.target remote-fs.target nss-lookup.target [Service] Type=notify NotifyAccess=all ExecStart=/usr/local/samba/sbin/samba -D PIDFile=/usr/local/samba/var/run/samba.pid ExecReload=/bin/kill -HUP $MAINPID [Install] WantedBy=multi-user.target
- For further details, see the
systemd.service(5)
man page.
- Reload the
systemd
configuration:
# systemctl daemon-reload
Managing the Samba AD DC Service
The following assumes that the Samba Active Directory (AD) domain controller (DC) service is managed by the samba-ad-dc
service file. If you have not created the service file manually, see your operating system's documentation for the name of the Samba AD DC service.
Enabling and Disabling the Samba AD DC Service
To enable the Samba Active Directory (AD) domain controller (DC) service to start automatically when the system boots, enter:
# systemctl enable samba-ad-dc
To disable the automatic start of the Samba AD DC service, enter:
# systemctl disable samba-ad-dc
Manually Starting and Stopping the Samba AD DC Service
To manually start the Samba Active Directory (AD) domain controller (DC) service, enter:
# systemctl start samba-ad-dc
To manually stop the Samba AD DC service, enter:
# systemctl stop samba-ad-dc