Samba 4.3.x: smbd.service: Control process exited, code=exited status=1

Wer einen Linux Fileserver mit Samba laufen hat, rennt vielleicht in das gleiche Problem wie ich. Ich habe den Server ein paar Wochen nicht upgedatet und wegen eines Linux Kernel Upgrades den Recher neu gestartet. So weit so gut. Kurz darauf stellte ich fest, dass Samba nicht funktionierte. Was nun…

zuerst versuchen wir einfach mal den Service neu zu starten.

server@archserv ~ % sudo systemctl restart smbd :(
Job for smbd.service failed because the control process exited with error code. See "systemctl status smbd.service"and "journalctl -xe" for details.

Hm ok, es gibt wohl ein Problem beim starten, wer Samba kennt, wird heir schon erwarten, das es eine Änderung in der Config gibt, welche jetzt den start verhindert. nun schauen wir also was uns der Status verrät.

server@archserv ~ % sudo systemctl status smbd :(
smbd.service - Samba SMB/CIFS server
Loaded: loaded (/usr/lib/systemd/system/smbd.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Fri 2015-10-16 20:44:03 CEST; 6min ago
Process: 7201 ExecStart=/usr/bin/smbd -D (code=exited, status=1/FAILURE)
Main PID: 809 (code=killed, signal=TERM)

Oct 16 20:44:01 archserv systemd[1]: Starting Samba SMB/CIFS server...
Oct 16 20:44:03 archserv systemd[1]: smbd.service: Control process exited, code=exited status=1
Oct 16 20:44:03 archserv systemd[1]: Failed to start Samba SMB/CIFS server.
Oct 16 20:44:03 archserv systemd[1]: smbd.service: Unit entered failed state.
Oct 16 20:44:03 archserv systemd[1]: smbd.service: Failed with result 'exit-code'.

Hmmmm, das verrät uns leider nicht wirklich, was das Problem ist. Also probieren wir den 2. Vorschlag.

server@archserv ~ % sudo journalctl -xe
-- Unit smbd.service has begun starting up.
Oct 16 20:44:03 archserv systemd[1]: smbd.service: Control process exited, code=exited status=1
Oct 16 20:44:03 archserv systemd[1]: Failed to start Samba SMB/CIFS server.
-- Subject: Unit smbd.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit smbd.service has failed.
--
-- The result is failed.
Oct 16 20:44:03 archserv sudo[7196]: pam_unix(sudo:session): session closed for user root
Oct 16 20:44:03 archserv systemd[1]: smbd.service: Unit entered failed state.
Oct 16 20:44:03 archserv systemd[1]: smbd.service: Failed with result 'exit-code'.
Oct 16 20:50:36 archserv sudo[7210]: server : TTY=pts/0 ; PWD=/home/server ; USER=root ; COMMAND=/usr/bin/systemctl status smbd
Oct 16 20:50:36 archserv sudo[7210]: pam_unix(sudo:session): session opened for user root by server(uid=0)
Oct 16 20:50:39 archserv sudo[7210]: pam_unix(sudo:session): session closed for user root
Oct 16 20:53:15 archserv sudo[7218]: server : TTY=pts/0 ; PWD=/home/server ; USER=root ; COMMAND=/usr/bin/journalctl -xe
Oct 16 20:53:15 archserv sudo[7218]: pam_unix(sudo:session): session opened for user root by server(uid=0)

…Wir sehen, dass wir nichts sehen… Normalerweise, sollte das der weg sein, welcher uns zu einer aussagekräftigen Fehlermeldung bringt. Und jetzt ist wohl der Punkt, an dem man einen Forenpost erstellen sollte, mit den jeweiligen Fehlerreports.
Ok nun weiß ich aber, dass Samba neben smbd noch den diens nmbd mitbringt, also schauen wir mal, was dieser Dienst macht.

server@archserv ~ % sudo systemctl status nmbd :(
nmbd.service - Samba NetBIOS name server
Loaded: loaded (/usr/lib/systemd/system/nmbd.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Fri 2015-10-16 20:56:06 CEST; 1s ago
Process: 7234 ExecStart=/usr/bin/nmbd -D (code=exited, status=1/FAILURE)
Main PID: 820 (code=exited, status=0/SUCCESS)

Oct 16 20:56:06 archserv systemd[1]: Starting Samba NetBIOS name server...
Oct 16 20:56:06 archserv nmbd[7234]: [2015/10/16 20:56:06.874015, 0] ../lib/util/util.c:285(directory_create_or_exist_strict)
Oct 16 20:56:06 archserv nmbd[7234]: invalid permissions on directory '/var/cache/samba/msg': has 0700 should be 0755
Oct 16 20:56:06 archserv systemd[1]: nmbd.service: Control process exited, code=exited status=1
Oct 16 20:56:06 archserv systemd[1]: Failed to start Samba NetBIOS name server.
Oct 16 20:56:06 archserv systemd[1]: nmbd.service: Unit entered failed state.
Oct 16 20:56:06 archserv systemd[1]: nmbd.service: Failed with result 'exit-code'.

Oh was sehen wir da

archserv nmbd[7234]: invalid permissions on directory '/var/cache/samba/msg': has 0700 should be 0755"

Das ist doch eine Fehlermeldung mit der wir arbeiten können. Also versuchen wir das Problem zu beheben, indem wir die Rechte des betroffenen Ordner ändern und starten den Service neu.

server@archserv ~ % sudo chmod 755 /var/cache/samba/msg
server@archserv ~ % sudo systemctl restart smbd
server@archserv ~ % systemctl status smbd
smbd.service - Samba SMB/CIFS server
Loaded: loaded (/usr/lib/systemd/system/smbd.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2015-10-16 21:04:57 CEST; 12s ago
Process: 7260 ExecStart=/usr/bin/smbd -D (code=exited, status=0/SUCCESS)
Main PID: 7261 (smbd)

HA! Siehe da, ein einfaches Rechteproblem hat den Servicestart verhindert und nun läuft wieder alles Problemlos.
Ich hoffe, ich konnte euch anhand des Beispieles zeigen, wie man mit systemd versuchen kann, den Fehler zu finden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.