Articles

Windows-Freigabe unter Linux mit CIFS einhängen

Posted on

Unter Linux- und UNIX-Betriebssystemen kann eine Windows-Freigabe mit der cifs-Option des mountBefehls an einen bestimmten Einhängepunkt im lokalen Verzeichnisbaum eingehängt werden.

Das Common Internet File System (CIFS) ist ein Netzwerkprotokoll zur Dateifreigabe. CIFS ist eine Form von SMB.

In dieser Anleitung wird erklärt, wie man Windows-Freigaben auf Linux-Systemen manuell und automatisch einbinden kann.

Installation der CIFS-Dienstprogramme

Um eine Windows-Freigabe auf einem Linux-System einzubinden, müssen Sie zunächst das CIFS-Dienstprogramm installieren.

  • Installation der CIFS-Utilities unter Ubuntu und Debian:

    sudo apt updatesudo apt install cifs-utils
  • Installation der CIFS-Utilities unter CentOS und Fedora:

    sudo dnf install cifs-utils

Der Paketname kann sich je nach Linux-Distribution unterscheiden.

Mounten einer CIFS-Windows-Freigabe

Das Mounten einer entfernten Windows-Freigabe ist ähnlich wie das Mounten eines regulären Dateisystems.

Erstellen Sie zunächst ein Verzeichnis, das als Einhängepunkt für die entfernte Windows-Freigabe dient:

sudo mkdir /mnt/win_share

Führen Sie den folgenden Befehl als root oder Benutzer mit sudoprivileges aus, um die Freigabe einzuhängen:

sudo mount -t cifs -o username=<win_share_user> //WIN_SHARE_IP/<share_name> /mnt/win_share

Sie werden aufgefordert, das Passwort einzugeben:

Password:

Bei Erfolg wird keine Ausgabe erzeugt.

Um zu überprüfen, ob die entfernte Windows-Freigabe erfolgreich eingehängt wurde, verwenden Sie entweder den mount oder df -hBefehl.

Wenn die Freigabe eingehängt ist, wird der Einhängepunkt zum Stammverzeichnis des eingehängten Dateisystems. Sie können mit den entfernten Dateien arbeiten, als wären es lokale Dateien.

Das Passwort kann auch auf der Kommandozeile angegeben werden:

sudo mount -t cifs -o username=<win_share_user>,password=<win_share_password> //WIN_SHARE_IP/<share_name> /mnt/win_share

Wenn der Benutzer in einer Windows-Arbeitsgruppe oder Domäne ist, können Sie es wie folgt festlegen:

sudo mount -t cifs -o username=<win_share_user>,domain=<win_domain> //WIN_SHARE_IP/<share_name> /mnt/win_share

Für eine bessere Sicherheit empfiehlt es sich, eine Anmeldedatei zu verwenden, die den Freigabebenutzernamen, das Passwort und die Domäne enthält.

Die Credentials-Datei hat folgendes Format:

/etc/win-credentials
username=userpassword=passworddomain=domain

Die Datei darf nicht von Benutzern lesbar sein. Um die richtigen Berechtigungen und den Besitz zu setzen, führen Sie aus:

sudo chown root: /etc/win-credentialssudo chmod 600 /etc/win-credentials

Um die Datei credentials zu verwenden, definieren Sie sie wie folgt:

sudo mount -t cifs -o credentials=/etc/win-credentials //WIN_SHARE_IP/<share_name> /mnt/win_share

Standardmäßig ist die gemountete Freigabe im Besitz von root und die Berechtigungen sind auf 777 gesetzt.

Mit der Option dir_mode können Sie die Verzeichnisberechtigung und mit file_mode die Dateiberechtigung einstellen:

sudo mount -t cifs -o credentials=/etc/win-credentials,dir_mode=0755,file_mode=0755 //WIN_SHARE_IP/<share_name> /mnt/win_share

Die Standard-Benutzer- und Gruppenrechte können mit den Optionen uid und gid geändert werden:

sudo mount -t cifs -o credentials=/etc/win-credentials,uid=1000,gid=1000,dir_mode=0755,file_mode=0755 //WIN_SHARE_IP/<share_name> /mnt/win_share

Um weitere Optionen zu setzen, fügen Sie diese als kommagetrennte Liste hinter der Option -o ein. Um eine Liste aller Einhängeoptionen zu erhalten, geben Sie man mount in Ihr Terminal ein.

Automatisches Einhängen #

Wenn die Freigabe manuell mit dem Befehl mount eingehängt wird, bleibt sie nach einem Neustart nicht bestehen.

Die Datei /etc/fstab enthält eine Liste von Einträgen, die definieren, wo welches Dateisystem beim Systemstart eingehängt wird.

Um eine Windows-Freigabe beim Start Ihres Linux-Systems automatisch einzuhängen, definieren Sie das Einhängen in der Datei /etc/fstab. Die Zeile muss den Hostnamen oder die IP-Adresse des Windows-PCs, den Freigabenamen und den Einhängepunkt auf dem lokalen Rechner enthalten.

Öffnen Sie die /etc/fstab-Datei mit Ihrem Texteditor:

sudo nano /etc/fstab

Fügen Sie die folgende Zeile in die Datei ein:

/etc/fstab
# <file system> <dir> <type> <options> <dump> <pass>//WIN_SHARE_IP/share_name /mnt/win_share cifs credentials=/etc/win-credentials,file_mode=0755,dir_mode=0755 0 0

Rufen Sie den folgenden Befehl auf, um die Freigabe einzuhängen:

sudo mount /mnt/win_share

Der mount-Befehl liest den Inhalt der /etc/fstab und mountet die Freigabe.

Nächstes Mal, wenn Sie das System neu starten, wird die Windows-Freigabe automatisch eingehängt.

Windows-Freigabe aushängen

Der umount-Befehl löst (unmountet) das eingehängte Dateisystem aus dem Verzeichnisbaum.

Um eine eingehängte Windows-Freigabe zu lösen, verwenden Sie den umount-Befehl, gefolgt von dem Verzeichnis, in das sie eingehängt wurde, oder der Remote-Freigabe:

sudo umount /mnt/win_share

Wenn die CIFS-Einhängung einen Eintrag in der fstab-Datei hat, entfernen Sie diesen.

Der umount-Befehl kann die Freigabe nicht lösen, wenn sie in Gebrauch ist. Um herauszufinden, welche Prozesse auf die Windows-Freigabe zugreifen, verwenden Sie den fuserBefehl:

fuser -m MOUNT_POINT

Wenn Sie die Prozesse gefunden haben, können Sie sie mit dem killBefehl anhalten und die Freigabe aushängen.

Wenn Sie immer noch Probleme beim Aushängen der Freigabe haben, verwenden Sie die -l-Option (--lazy), mit der Sie ein beschäftigtes Dateisystem aushängen können, sobald es nicht mehr beschäftigt ist.

sudo umount -l MOUNT_POINT

Fazit

Unter Linux können Sie eine Windows-Freigabe mit dem Befehl mount mit der Option cifs einhängen.

Schreibe einen Kommentar

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