Wie bei Windows kann es auch bei Samba-Servern auf Linux/Unix-Basis zu Schwierigkeiten beim Zugriff auf Dateien kommen, wenn diese angeblich noch im Zugriff sind.

In diesem Szenario kam der Zugriffs-Fehler dadurch zustande, da während des Kopierens einer Datensicherungsdatei die VPN-Verbindung durch eine DSL-Störung mehrere Stunden unterbrochen war. Während auf der Sender-Seite (ein Windows Server) definitiv alle Verbindungen weg waren, konnte es folglich nur noch an der Empfänger-Seite (Debian mit Samba) liegen.

Der Schnellschuss besteht darin, schlicht den Samba-Server neu zustarten. Dazu reicht es aus, den smb-Daemon einmal durchzustarten:

service smbd restart

Allerdings unterbricht dies alle aktuellen Verbindungen. In diesem Fall ist der Windows-Server auf der Sender-Seite der einzige Client, von daher war es kein Problem.

Nachdem die Sperre aufgehoben war, konnte über den “copy /z …”-Befehl der Kopiervorgang fortgesetzt werden. Die zuvor bereits erfolgreich kopierten Teile der Datei gingen dabei nicht verloren.

Eine unter Umständen bessere Lösung wird unter den nachfolgenden Links beschrieben. So lässt sich gezielt der smbd-Prozess ermitteln und beenden, ohne die anderen Verbindungen bzw. Zugriffe zu beeinflussen:

Sysadmins Tips – Unlock network files locked by Samba Linux / Unix Server

VAFtech – How to find which SAMBA user has locked a file

Kommt es häufiger zu Schwierigkeiten mit gesperrten Dateien, so lässt sich das Verhalten des Samba-Servers verändern:

serverfault – How to prevent samba from holding a file lock after a client disconnects?

Samba – Docs – Chapter 17. File and Record Locking