Il problema
Impossibile avviare il servizio SMB, non è possibile accedere alle condivisioni SAMBA. L'utilizzo di systemctl non riesce ad avviare il servizio e di seguito è riportato lo stato del servizio smb.
# 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.
La soluzione
Nella maggior parte dei casi in RHEL 7, il servizio samba non si avvia se SELinux è abilitato (applicato). Disabilita SELinux o rendilo solo di avviso. Il setenforce Il comando viene utilizzato per passare dalla modalità di applicazione a quella permissiva. Per passare alla modalità permissiva:
# setenforce 0
Usa il comando getenforce per visualizzare la modalità SELinux corrente:
# getenforce PermissiveCome abilitare/disabilitare le modalità SELinux in RHEL/CentOS
Nel caso in cui non si desideri disabilitare SELinux, è possibile rivedere la politica di SELinux che consente l'esecuzione del sottosistema SAMBA. Per controllare le attuali politiche di SELinux, usa i comandi seguenti.
# getsebool -a | grep samba # getsebool -a | grep nmb
Questo dovrebbe fornire un elenco di opzioni e se queste sono attivate o disattivate. Dovrebbero essere accesi. Le impostazioni possono essere modificate utilizzando i comandi riportati di seguito.
Sintassi :
# setsebool -P [boolean] on
Ad esempio:
# setsebool -P bacula_use_samba on