Samba startet nicht mit systemd
Ich installiere Samba 4.12.6 von der Quelle auf Centos 8.
Wenn ich Samba direkt starte
/usr/local/samba/sbin/samba
es läuft erwartet.
Jetzt erstelle ich eine systemd-Einheit:
[Unit]
Description=Samba Active Directory Domain Controller
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/samba/sbin/samba -D
PIDFile=/usr/local/samba/var/run/samba.pid
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=default.target
Starten Sie es und es schlägt fehl, wenn die Berechtigung verweigert wird
[root@centos-server-01 ~]# systemctl status samba-ad.service
● samba-ad.service - Samba Active Directory Domain Controller
Loaded: loaded (/etc/systemd/system/samba-ad.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Fri 2020-09-04 19:03:24 CEST; 14s ago
Process: 1549 ExecStart=/usr/local/samba/sbin/samba -D (code=exited, status=203/EXEC)
Sep 04 19:03:24 centos-server-01 systemd[1]: Starting Samba Active Directory Domain Controller...
Sep 04 19:03:24 centos-server-01 systemd[1]: samba-ad.service: Control process exited, code=exited status=203
Sep 04 19:03:24 centos-server-01 systemd[1]: samba-ad.service: Failed with result 'exit-code'.
Sep 04 19:03:24 centos-server-01 systemd[1]: Failed to start Samba Active Directory Domain Controller.
journalctl zeigt an:
journalctl _PID=1549
-- Logs begin at Fri 2020-09-04 18:00:19 CEST, end at Fri 2020-09-04 19:03:39 CEST. --
Sep 04 19:03:24 centos-server-01 systemd[1549]: samba-ad.service: Failed to execute command: Permission denied
Sep 04 19:03:24 centos-server-01 systemd[1549]: samba-ad.service: Failed at step EXEC spawning /usr/local/samba/sbin/samba: Permission denied
Die Samba-Binärdatei ist ausführbar:
ls -al /usr/local/samba/sbin/
total 2816
-rwxr-xr-x. 1 root root 771608 Sep 2 17:28 eventlogadm
-rwxr-xr-x. 1 root root 331304 Sep 2 17:28 nmbd
-rwxr-xr-x. 1 root root 58280 Sep 2 17:27 samba
-rwxr-xr-x. 1 root root 3616 Sep 1 20:15 samba-gpupdate
.
.
file zeigt an:
/usr/local/samba/sbin/samba: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically li nked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=3f9ee20e102f467fc 12e1b4bc913472f23dcde0b, not stripped
Ich bin immer als root angemeldet. Ich habe Fehler bei Schritt EXEC-Laichen gelesen ... Berechtigung verweigert und Folgendes, aber es hat nicht geholfen.
Vielleicht hat jemand eine Ahnung für mich
Antworten
SELinux beschränkt Binärdateien, die in ExecStart verwendet werden können, auf Pfade, für die ein system_u:object_r:bin_t:s0Attribut festgelegt wurde. In der Regel sind dies /usr/bin /usr/sbin /usr/libexec /usr/local/binVerzeichnisse. Sie müssen Samba-Binärdateien in eines dieser Verzeichnisse verschieben oder die Selinux-Richtlinie ändern, damit systemd Binärdateien in / usr / local / samba / sbin / as verwenden kann:
chcon -R -t bin_t /usr/local/samba/sbin/