Hi All,
Just posting a script I wrote to fix some reboot errors on my samba DC with bind backends. The symptoms were that bind would not start with selinux enabled. Log errors were:
Code:
May 04 05:09:15 example.com systemd[1]: Failed to start Berkeley Internet Name Domain (DNS).
May 04 05:09:15 example.com named[934]: exiting (due to fatal error)
May 04 05:09:15 example.com named[934]: loading configuration: failure
May 04 05:09:15 example.com named[934]: DLZ driver failed to load.
May 04 05:09:15 example.com systemd[1]: named.service: Failed with result 'exit-code'.
May 04 05:09:15 example.com named[934]: SDLZ driver failed to load.
May 04 05:09:15 example.com systemd[1]: named.service: Control process exited, code=exited status=1
May 04 05:09:15 example.com named[934]: dlz_dlopen of 'AD DNS Zone' failed
May 04 05:09:15 example.com named[934]: samba_dlz: Failed to connect to Failed to connect to /var/lib/samba/bind-dns/dns/sam.ldb: Unable to open tdb '/var/lib/samba/bind-dns/dns/sam.ldb': Permission denied: Operations error
When you disabled selinux, the system worked.
The follow script was based on the
https://wiki.samba.org/index.php/BIN...ux_Integration policy modifications and updated for the Fedora 29 samba and samba-dc package installations.
Code:
#!/bin/bash
# A script to fix the samba persmission for Fedora 29.
chown named:named /var/lib/samba/bind-dns/dns
chgrp named /var/lib/samba/private/dns.keytab
chmod g+r /var/lib/samba/private/dns.keytab
chmod 775 /var/lib/samba/bind-dns/dns/
chcon -t named_conf_t /var/lib/samba/private/dns.keytab
chcon -t named_conf_t /var/lib/samba/bind-dns/named.conf.update
chcon -t named_var_run_t /var/lib/samba/bind-dns/dns
chcon -t named_var_run_t /var/lib/samba/bind-dns/dns/*
chcon -t named_var_run_t /var/lib/samba/bind-dns/dns/sam.ldb.d/*
semanage fcontext -a -t named_conf_t /var/lib/samba/private/dns.keytab
semanage fcontext -a -t named_conf_t /var/lib/samba/bind-dns/named.conf
semanage fcontext -a -t named_conf_t /var/lib/samba/bind-dns/named.conf.update
semanage fcontext -a -t named_var_run_t /var/lib/samba/bind-dns/dns
semanage fcontext -a -t named_var_run_t /var/lib/samba/bind-dns/dns/
semanage fcontext -a -t named_var_run_t "/var/lib/samba/bind-dns/dns/sam.ldb.d(/.*)?"
ls -laZ /var/lib/samba/private/
ls -laZ /var/lib/samba/bind-dns/dns
ls -laZ /var/lib/samba/bind-dns/dns/sam.ldb.d/
exit 0