Das Problem
Der SMB-Dienst kann nicht gestartet werden, auf SAMBA-Freigaben kann nicht zugegriffen werden. Die Verwendung von systemctl schlägt fehl, den Dienst zu starten, und unten ist der Status des smb-Dienstes.
# systemctl status smb.service ? smb.service - Samba SMB Daemon Loaded: loaded (/usr/lib/systemd/system/smb.service; disabled; vendor preset: disabled) Active: failed (Result: exit-code) since Fri 2017-07-07 10:07:54 AEST; 3 days ago Process: 25847 ExecStart=/usr/sbin/smbd $SMBDOPTIONS (code=exited, status=1/FAILURE) Main PID: 25847 (code=exited, status=1/FAILURE) The following entries are logged to the /var/log/messages file: Jul 07 10:07:54 localhost smbd[25847]: Unable to open new log file '/var/log/sa...ed Jul 07 10:07:54 localhost smbd[25847]: [2017/07/07 10:07:54, 0] ../lib/util/de...l) Jul 07 10:07:54 localhost smbd[25847]: Unable to open new log file '/var/log/sa...ed Jul 07 10:07:54 localhost smbd[25847]: [2017/07/07 10:07:54, 0] ../source3/smb...n) Jul 07 10:07:54 localhost smbd[25847]: smbd version 4.2.3 started. Jul 07 10:07:54 localhost smbd[25847]: Copyright Andrew Tridgell and the Samba ...14 Jul 07 10:07:54 localhost systemd[1]: smb.service: main process exited, code=ex...RE Jul 07 10:07:54 localhost systemd[1]: Failed to start Samba SMB Daemon. Jul 07 10:07:54 localhost systemd[1]: Unit smb.service entered failed state. Jul 07 10:07:54 localhost systemd[1]: smb.service failed.
Die Lösung
1. Deaktivieren Sie SELinux
In den meisten Fällen in RHEL 7 startet der Samba-Dienst nicht, wenn SELinux aktiviert (erzwungen) ist. Deaktivieren Sie SELinux oder machen Sie es nur zur Empfehlung. Die setenforce Der Befehl wird verwendet, um zwischen dem Enforcing- und dem Permissive-Modus zu wechseln. So wechseln Sie in den zulässigen Modus:
# setenforce 0
Verwenden Sie den Befehl getenforce, um den aktuellen SELinux-Modus anzuzeigen:
# getenforce PermissiveSo aktivieren/deaktivieren Sie SELinux-Modi in RHEL/CentOS
2. Konfigurieren Sie SELinux so, dass SAMBA-Dienste zugelassen werden
Falls Sie SELinux nicht deaktivieren möchten, können Sie die SELinux-Richtlinie überprüfen, die die Ausführung des SAMBA-Subsystems zulässt. Verwenden Sie die folgenden Befehle, um die aktuellen SELinux-Richtlinien zu überprüfen.
# getsebool -a | grep samba # getsebool -a | grep nmb
Dies sollte eine Liste von Optionen geben und ob diese ein- oder ausgeschaltet sind. Sie sollten eingeschaltet sein. Die Einstellungen können mit den unten angegebenen Befehlen geändert werden.
Syntax :
# setsebool -P [boolean] on
Zum Beispiel:
# setsebool -P bacula_use_samba on