Problém
Nelze spustit službu SMB, nelze získat přístup ke sdíleným složkám SAMBA. Pomocí systemctl se nepodařilo spustit službu a níže je stav služby 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.
Řešení
1. Zakázat SELinux
Ve většině případů v RHEL 7 se služba samba nespustí, pokud je povoleno (vynuceno) SELinux. Zakažte SELinux nebo jej nastavte pouze jako poradní. setenforce příkaz se používá ke změně mezi vynucovacím a permisivním režimem. Změna do tolerantního režimu:
# setenforce 0
Pro zobrazení aktuálního režimu SELinux použijte příkaz getenforce:
# getenforce PermissiveJak povolit/zakázat režimy SELinux v RHEL/CentOS
2. Nakonfigurujte SELinux tak, aby umožňoval služby SAMBA
V případě, že nechcete deaktivovat SELinux, můžete si prohlédnout zásady SELinuxu, které umožňují spuštění subsystému SAMBA. Chcete-li zkontrolovat aktuální zásady SELinux, použijte níže uvedené příkazy.
# getsebool -a | grep samba # getsebool -a | grep nmb
To by mělo poskytnout seznam možností a zda jsou zapnuté nebo vypnuté. Měly by být zapnuté. Nastavení lze změnit pomocí příkazů uvedených níže.
Syntaxe :
# setsebool -P [boolean] on
Například:
# setsebool -P bacula_use_samba on