CIFS (Common Internet File System) ist ein beliebtes File-Sharing-Protokoll im Internet. Es ermöglicht Benutzern auf einem Linux-System den Zugriff auf einen bestimmten Einhängepunkt auf einer Windows-Freigabe.
CIFS ist eine Implementierung von SMB (Server Message Block) – ein Protokoll, das für die Dateifreigabe im Netzwerk verwendet wird.
Dieses Tutorial führt Sie durch alle Schritte der Installation und Konfiguration relevanter Dienstprogramme, um die Windows-Freigabe auf einem Linux-System bereitzustellen.
CIFS installieren
Installieren Sie das cifs-utils-Paket unter Ubuntu Linux mit der folgenden Befehlszeile
$ sudo apt-get update
$ sudo apt-get install cifs-utils
Mounten einer Windows-Freigabe
In diesem Abschnitt zeigt Ihnen das Tutorial, wie Sie Windows Share manuell und automatisch auf Linux-Systemen mounten.
Beim Erstellen eines Verzeichnisses auf Ihrem Ubuntu-Linux-Rechner ist der Name des Verzeichnisses beliebig. In der folgenden Befehlszeile habe ich einen Ordner namens winshare unter /mnt
erstellt$ sudo mkdir /mnt/winshare
/mnt/winshare ist der Einhängepunkt der entfernten Windows-Freigabe.
Die Windows-Freigabe kann mit der cifs-Option des Mount-Befehls auf dem Mount-Punkt Ihres Ubuntu-Linux-Systems gemountet werden
$ sudo mount -t cifs -o username=$windows_user,password=$windows_user_password //WIN_SHARE_IP/$shared_name /mnt/winshare
Wo:
WIN_SHARE_IP ist die IP-Adresse des Windows-Rechners.
Wenn sich der $windows_user in einer Windows-Domäne befindet, geben Sie die Domäne in der folgenden Befehlszeile
an$ sudo mount -t cifs -o username=$windows_user,password=$windows_user_password,domain=$windows_domain_name //WIN_SHARE_IP/$shared_name /mnt/winshare
Standardmäßig wird die Linux-Mount-Windows-Freigabe mit der vollen Berechtigung (rwx oder 777) bereitgestellt. Wenn Sie die Berechtigung selbst ändern möchten, verwenden Sie bitte die Optionen dir_mode und file_mode, um die Berechtigung für Verzeichnis und Datei festzulegen.
$ sudo mount -t cifs -o username=$windows_user,password=$windows_user_password,dir_mode=0755,file_mode=0755 //WIN_SHARE_IP/$shared_name /mnt/winshare
Sie können auch den Standardbesitz von Benutzer und Gruppe ändern, indem Sie die Optionen uid (Benutzer-ID) und gid (Gruppen-ID) angeben.
$ sudo mount -t cifs -o username=$windows_user,password=$windows_user_password,uid=1000,gid=1000,dir_mode=0755,file_mode=0755 //WIN_SHARE_IP/$shared_name /mnt/winshare
Sobald die Windows-Freigabe erfolgreich gemountet wurde, verwenden Sie den Befehl df -h, um die gemountete Windows-Freigabe in Linux zu überprüfen. Im folgenden Beispiel ist WIN_SHARE_IP =192.168.1.8 und $shared_name =sharefolder
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 3,9G 0 3,9G 0% /dev
tmpfs 787M 2,2M 785M 1% /run
/dev/sda2 450G 23G 405G 6% /
tmpfs 3,9G 705M 3,2G 18% /dev/shm
tmpfs 5,0M 4,0K 5,0M 1% /run/lock
tmpfs 3,9G 0 3,9G 0% /sys/fs/cgroup
//192.168.1.8/sharefolder 300G 5,7G 295G 2% /mnt/winshare
Sichere CIFS-Anmeldeinformationen
In diesem Abschnitt wird erklärt, wie Sie eine Berechtigungsdatei verwenden, wenn Ihr Ubuntu Linux die Freigabe mit dem Befehl mountet.
Erstellen Sie eine cifs-Credentials-Datei:/etc/cifs-credentials. Die Datei enthält die folgenden Informationen:
username = $windows_user
password = $windows_user_password
domain = $windows_domain_name
Erteilen Sie die Berechtigung zum Lesen und Schreiben für die Datei mit den Anmeldeinformationen:
$ sudo chmod +rw /etc/cifs-credentials
Jetzt können wir die Freigabe mit Anmeldeinformationen mit dem folgenden Befehl mounten:
$ sudo mount -t cifs -o credentials=/etc/cifs-credentials //WIN_SHARE_IP/$shared_name /mnt/winshare
Freigaben automatisch mounten
Wenn Sie die Freigaben manuell mit dem Mount-Befehl einhängen, gehen die Freigaben beim Neustart Ihres Linux-Rechners verloren.
Die Datei /etc/fstab enthält die notwendige Konfiguration, die es erlaubt, cifs automatisch dauerhaft einzuhängen.
Bearbeiten Sie die /etc/fstab-Datei mit Ihren bevorzugten Editoren (vim, nano, ...)
$ sudo vim /etc/fstab
Fügen Sie dann die folgende Zeile zur Datei hinzu.
//WIN_SHARE_IP/$shared_name /mnt/winshare cifs credentials=/etc/cifs-credentials,file_mode=0755,dir_node=0755 0 0
Führen Sie den Befehl aus, um alle in /etc/fstab
aufgelisteten Einträge einzuhängen$ sudo mount -a
Seitdem bleiben die Mount-CIFs über Neustarts hinweg bestehen.
Unmounten Sie die Freigaben
Um eine Freigabe auszuhängen, müssen Sie den Einhängepunkt ermitteln. Im obigen Beispiel ist der Einhängepunkt /mnt/winshare. Verwenden Sie den umount-Befehl:
$ sudo umount /mnt/winshare
Wenn sich der Einhängepunkt in einem ausgelasteten Prozess befindet und der obige Befehl fehlgeschlagen ist, führen Sie den Befehl mit der Option -l (--lazy)
aus$ sudo umount -t cifs -l /mnt/winshare
Schlussfolgerung
Das Tutorial hat alle Schritte durchlaufen, um eine Windows-Freigabe unter Ubuntu Linux mit CIFS zu mounten. Wenn Sie Fragen haben, können Sie sich gerne an uns wenden.