Der Dateitransport von A nach B ist mit einem Linux-Server kein Problem. Für die reibungslose Funktion und insbesondere für erhöhte Sicherheit sollten Sie jedoch die Konfiguration anpassen.

Für den Dateitransfer zwischen Linux-Servern oder Desktop-PCs gibt es viele Methoden. Einige davon sind schneller, andere sicherer und wieder andere bequemer. Passende Lösungen gibt es für jeden Einsatzbereich: für Backups, Downloads, Uploads oder für direktes Bearbeiten von Dateien auf dem Server. Wie Sie die nötige Software auf dem Server konfigurieren und dann auf die Dateien zugreifen, erklärt dieser Artikel.
Linux als WebDAV-Server einsetzen
SFTP: Sicher und schnell
Der Open-SSH-Server bietet nicht nur einen Shell-Zugang, sondern auch den Dateitransfer über SFTP an (SSH File Transfer Protocol oder Secure File Transfer Protocol). Die Kommunikation läuft wie bei SSH verschlüsselt über Port 22. Richten Sie zuerst den SSH-Server ein.
Für die Kommandozeile gibt es zwei Befehle, über die Sie auf einen SFTP-Server zugreifen können. Mit der Zeile
scp test.tar.gz Benutzer@Server.de:~/
kopieren Sie die Datei „test.tar.gz“ aus dem aktuellen Verzeichnis in das Home-Verzeichnis auf dem Server. „Benutzer“ ersetzen Sie durch Ihren Anmeldenamen und „Server.de“ durch die IP-Adresse oder den Domain-Namen Ihres Linux-Servers. Bei der erstmaligen Verbindung zum Server müssen Sie den SSL-Schlüssel mit „yes“ akzeptieren. scp funktioniert ähnlich wie cp in der allgemeinen Form mit „scp Quelle Ziel“. Mit
scp Benutzer@Server.de:~/test.tar.gz test.tar.gz
laden Sie die Datei „test.tar.gz“ vom Server in das aktuelle Verzeichnis herunter. scp kann auch Wildcards wie „*“ verarbeiten. Um alle PNG-Dateien aus dem Verzeichnis „Bilder“ in Ihrem Home-Verzeichnis auf den Server hochzuladen, verwenden Sie dieses Kommando:
scp ~/Bilder/*.png BenutzerName@ MeinServer.de:~/Bilder
sftp ist eine Alternative zu scp. Sie starten es mit
sftp Benutzer@Server.de
und melden sich mit Ihrem Passwort an. help liefert eine Übersicht der verfügbaren Kommandos. Mit ls lassen Sie sich den Verzeichnisinhalt auf dem Server anzeigen, mit cd Ordner wechseln Sie in ein anderes Verzeichnis. Sie können wie in der Bash-Shell die Tab-Taste für die automatische Ergänzung von Datei- und Ordnernamen verwenden. Mit get DateiName laden Sie eine Datei herunter, put DateiName verwenden Sie für den Upload.

Grafische Programme für den Dateitransfer:
scp und sftp überschreiben vorhandene Dateien ohne Rückfrage. Mehr Komfort bieten Dateimanager wie Nautilus (Gnome/ Ubuntu) oder Thunar (Xfce/Xubuntu). Hier verwenden Sie eine URL wie „ssh://Server.de“ in der Adresszeile. Im KDE-Dateimanager Dolphin tragen Sie fish://MeinServer.de ein. Die Adresszeile lässt sich jeweils mit Strg-L einblenden. Der Zugriff ist außerdem über Programme wie Filezilla möglich (> nächster Punkt).
SFTP mounten:
Sie können einen SSH/SFTP-Server über Fuse (Filesystem in Userspace) und das Modul sshfs auch in das lokale Dateisystem einbinden. Installieren Sie die nötige Software über
sudo apt-get install sshfs
Damit ein Benutzer ohne root-Rechte Fuse nutzen kann, fügen Sie ihn mit
sudo usermod -aG fuse Benutzer
zur Gruppe „fuse“ hinzu. „Benutzer“ ersetzen Sie durch Ihren Anmeldenamen. Melden Sie sich ab und wieder an. Erstellen Sie einen Mountpunkt im Home-Verzeichnis, und hängen Sie das Dateisystem ein:
mkdir ~/fusessh sshfs Benutzer@Server.de:/Pfad ~/fusessh
Mit fusermount -u ~/fusessh lösen Sie die Einbindung wieder.
SFTP einschränken:
Standardmäßig hat jedes Benutzerkonto SSH- und SFTP-Zugriff. Sie können aber für einzelne Benutzern oder Gruppen den Shell-Zugang über SSH verbieten und SFTP auf ein bestimmtes Verzeichnis beschränken, etwa für den Datenaustausch mit Bekannten oder Mitarbeitern.
Dazu öffnen Sie die Datei „/etc/ssh/sshd_config“ als root in einem Editor und fügen am Ende folgende sechs Zeilen an:
Match Group sftpgroup ChrootDirectory /home/sftphome ForceCommand internal-sftp AllowTcpForwarding no PermitTunnel no X11Forwarding no
Erstellen Sie mit addgroup sftpgroup eine neue Gruppe und mit den folgenden fünf Zeilen einen neuen Benutzer mit Passwort und das Verzeichnis „/home/sftphome“ mit den erforderlichen Rechten:
sudo useradd -s /bin/false -g sftpgroup sftpuser sudo passwd sftpuser sudo mkdir /home/sftphome sudo chown root:root /home/sftphome sudo chmod 755 /home/sftphome
Der Benutzer sftpuser kann sich jetzt über SFTP anmelden und Dateien aus „/home/smthome“ herunterladen. Wenn er auch Dateien hochladen soll, führen Sie folgende Befehle aus:
mkdir /home/sftphome/upload chown root:sftpgroup /home/sftp home/upload chmod 775 /home/sftphome/upload
Damit erhalten Mitglieder der Gruppe sftpgroup Schreibrechte im Ordner „/home/sftphome/upload“. Eine Anmeldung über SSH ist für diese Gruppe nicht möglich.
Linux-Server mit Apache, PHP und MySQL

FTP-Server unter Linux: Schnell, aber nicht ungefährlich
Das File Transfer Protocol (FTP) ist ein Klassiker unter den Netzwerkprotokollen. Es ist seit 1985 standardisiert, bei vielen Web-Hostern im Einsatz und dient vor allem dem Upload von Dateien auf die eigene Homepage. Die ungebrochene Beliebtheit von FTP erklärt sich wohl dadurch, dass FTP-Clients auf allen Plattformen standardmäßig vorhanden sind.
FTP überträgt jedoch alle Daten unverschlüsselt. Das ist innerhalb eines privaten Netzwerkes kein Problem, im Internet jedoch ein Sicherheitsrisiko. Wenn ein Web-Hoster auch SSH/SFTP anbietet, ist es besser, wenn Sie FTP deaktivieren.
FTP über SSL:
Sollten Sie auf FTP angewiesen sein, lässt sich auch hier Verschlüsselung aktivieren. Der Dienst nennt sich „FTP über SSL“, 2FTP über TLS2 oder kurz „FTPS“. Richten Sie mit apt-get install proftpd beispielsweise den FTP-Server Proftpd ein. Wählen Sie dabei für optimale Leistung die Option „Servermodus“. Öffnen Sie dann die Konfigurationsdatei mit sudo nano /etc/proftpd/proftpd.conf. In der Standardkonfiguration erlaubt das Programm allen Benutzerkonten den Zugriff auf alle Dateien auf dem Server, soweit sie dafür Berechtigungen besitzen. Wenn Sie das ändern möchten, entfernen Sie das Kommentarzeichen „#“ vor „DefaultRoot ~“.
Für FTPS entfernen Sie das Kommentarzeichen vor der Zeile „Include /etc/ proftpd/tls.conf“. Speichern Sie die Datei mit Strg-O, und schließen Sie den Editor mit Strg-X. Dann öffnen Sie mit sudo nano /etc/proftpd/tls.conf die Konfigurationsdatei für die Verschlüsselung.
Entfernen Sie die Kommentarzeichen, und ergänzen Sie fehlende Zeilen, so dass nach der Zeile
<IfModule mod_tls.c>
der Inhalt gemäß nebenstehender Abbildung entsteht – beginnend mit „TLSEngine on“ und endend mit „</ IfModule>“. Die Zertifikatdateien „proftpd.crt“ und „proftpd.key“ können Sie selbst erstellen und signieren. Der Befehl dafür steht als Kommentar in der Datei. Starten Sie den FTP-Server mit service proftpd restart neu.
FTP-Client-Software:
Ein beliebter FTP-Client ist Filezilla, das in den Repositorien aller größeren Linux-Distributionen zu finden ist. Über „Datei > Servermanager > Neuer Server“ tragen Sie die Verbindungsdaten ein. Hinter „Protokoll“ wählen Sie „FTP - File Transfer Protokoll“ und hinter „Verschlüsselung“ den Eintrag „Explizites FTP über TLS erfordern“. Bei „Verbindungsart“ stellen Sie „Normal“ ein und tragen darunter Benutzernamen und Passwort ein. Ist alles korrekt, erhalten Sie mit „Verbinden“ Zutritt.

NFS: Dateitransfer im lokalen Netzwerk
SFTP und FTP eignen sich für die Datenübertragung im lokalen Netzwerk wie im Internet. NFS (Network File System) sollten Sie aus Sicherheitsgründen nur im eigenen Netz verwenden. Das Dateisystem hat vor allem Vorzüge bei permanenten Verbindungen zwischen mehreren Linux-PCs. Im Vergleich zu Samba arbeitet NFS schneller, die Freigaben sind aber ohne zusätzliche Software nicht für Windows-PCs erreichbar.
Auf dem Server installieren Sie zuerst die nötige Software mit der Zeile
sudo apt-get install nfs-kernelserver
Auf den Client-PCs richten Sie das Paket „nfs-common“ ein. Öffnen Sie auf dem Server mit sudo nano /etc/exports die NFS-Konfigurationsdatei im Editor. Mit folgender Zeile
/mnt/data0 192.168.0.14(rw,async)
geben Sie eine Festplatte, die in „/mnt/ data0“ eingehängt ist, für den Rechner mit der IP-Adresse 192.168.0.14 frei. Starten Sie den NFS-Server mit sudo service nfs-kernel-server restart neu. Auf dem Client-PC hängen Sie das Dateisystem dann mit dem folgenden Befehl ein:
sudo mount 192.168.0.20:/mnt/data0 /mnt/data0
Für die Beispiel-IP setzen Sie die tatsächliche IP-Adresse Ihres Servers ein.
Das Zielverzeichnis „/mnt/data0“ muss existieren. Jeder Benutzer kann die Dateien lesen, root hat Schreibrechte. Wenn Sie das ändern wollen, setzen Sie auf Server wie Client die Rechte für die Mount-Verzeichnisse entsprechend, etwa mit sudo chmod 777 /mnt/data0. NFS kennt keine Authentifizierung der Benutzer. Die Rechte werden über die Benutzer-IDs gewährt, was nur dann problemlos funktioniert, wenn auf allen beteiligten PCs die gleichen Benutzer mit identischen IDs vorhanden sind.
Bei einem privaten Server und Client ist das jedoch leicht zu verwalten, solange Sie NFS nur als root (ID:0) und mit dem ersten angelegten Benutzerkonto (ID:1000) verwenden. Gibt es auf dem Client, nicht aber auf dem Server einen weiteren Benutzer etwa mit der ID 1001, werden Ordner und Dateien mit dessen ID erstellt. Das macht spätere Neuzuweisungen von Rechten auf dem Server kompliziert.
Webdav für die Verbindung zum Server nutzten
Webdav (Web-Distributed Authoring and Versioning) ist eine Erweiterung des HTTP-Protokolls, das Schreibzugriffe auf den Webserver ermöglicht. Bei Nextcloud ist Webdav bereits vorkonfiguriert und wird auch vom Nextcloud-Client verwendet. In der Weboberfläche von Nextcloud sehen Sie die Webdav-Adresse links unten im Fenster nach einem Klick auf „Einstellungen“. Wenn Sie einen eigenen Webdav-Server nur mit Apache unabhängig von Nextcloud einrichten möchten, finden Sie
hier eine Anleitung dafür
.
Der Vorteil von Webdav:
Auch Windows-Anwender können die Freigaben ohne zusätzliche Software nutzen (im Windows-Explorer über „Netzwerklaufwerk verbinden“). Im Dateimanager Nautilus von Ubuntu 18.04 gehen Sie auf „Andere Orte“ und tippen hinter „Server Adresse“ die Adresse in der Form
davs://[MeinServer.de]/remote.php/webdav/
ein. „[MeinServer.de]“ ersetzen Sie durch den Domainnamen, über den Ihr Nextcloud-Server erreichbar ist. Sollte Ihr Server keine SSL-Verschlüsselung bieten, verwenden Sie den Präfix „dav://“.
Nutzer von Linux Mint gehen im Dateimanager auf „Datei –› Mit Server verbinden“ und tragen die erforderlichen Verbindungsinformationen ein.
In beiden Systemen können Sie die Serveradresse auch einfach in die Adressleiste eintippen (einblenden mit Strg-L). Damit sich nach einem Neustart des Systems die Verbindung zum Webdav-Server schnell wiederherstellen lässt, erstellen Sie ein Lesezeichen über „Lesezeichen –› Lesezeichen hinzufügen“ (Linux Mint 19) beziehungsweise über den Kontextmenüpunkt „Lesezeichen hinzufügen“ (Ubuntu 18.04).
In den KDE-Dateimanagern Dolphin und Konqueror verwenden Sie ebenfalls die Adressleiste, in die Sie die Webdav-Adresse in der Form „webdavs://[Server-Adresse]“ eintippen, oder für unverschlüsselte Verbindungen „webdav://“.
Viele Cloudanbieter haben Webdav ebenfalls im Angebot. Als GMX-Kunde beispielsweise verwenden Sie die Adresse „davs:// webdav.mc.gmx.net“ und bei der Telekom „davs://webdav.magentacloud.de“. Bei GMX genügen Benutzernamen und Passwort, die Sie auch bei der E-Mail-Anmeldung nutzen. Telekom-Kunden müssen sich zuerst über
https://www.magentacloud.de
anmelden und in den „Login-Einstellungen“ ein Webdav-Passwort festlegen.
Webdav in das Dateisystem einhängen
Webdav-Freigaben lassen sich auch direkt in das Dateisystem einbinden. Das ist von Vorteil, etwa wenn die Dateien auf dem Webdav-Server direkt nach dem Systemstart oder auch für andere Benutzer des PCs bereitstehen sollen. Dafür ist ein Dateisystemtreiber nötig, den Sie im Terminal mit diesem Befehl installieren:
sudo apt-get install cacertificates davfs2
Die Paketverwaltung fragt Sie, ob Sie auch unprivilegierten Benutzern erlauben wollen, Webdav-Ressourcen einzubinden. Antworten Sie mit „Ja“, wenn alle Benutzer die Funktion verwenden dürfen. Zusätzlich müssen diese zur Gruppe „davfs2“ gehören:
sudo usermod -aG davfs2 [User]
Den Platzhalter „[User]“ ersetzten Sie durch den Namen des gewünschten Benutzers. Wenn Sie Webdav-Server nur mit root-Rechten einbinden wollen, ist das nicht nötig.
Erstellen Sie einen Ordner für die Dateien
sudo mkdir /mnt/webdav
und passen Sie dann die Datei „/etc/fstab“ folgendermaßen an:
sudo nano /etc/fstab
Hier fügen Sie diese Zeile am Ende an:
https://[Server]/mnt/webdav davfs users,noauto,file_mode=666,dir_ mode=777 0 1
Für „[Server]“ setzen Sie die Webdav-URL etwa Ihres Nextcloud-Servers ein. Die Werte hinter „file_mode=“ und „dir_mode=“ erlauben Lese- und Schreibrechte für alle Benutzer. Verwenden Sie alternativ „file_ mode=644,dir_mode=755“, um die Schreibrechte zu entziehen. Speichern Sie die Datei mit Strg-O und beenden Sie den Editor mit Strg-X.
In die Datei „/etc/davfs2/secrets“ tragen Sie dann die Anmeldedaten für den Server ein. Dafür genügt eine Zeile wie
https://meinserver.de/remote.php/webdav/sepp Geheim
oder in der allgemeinen Form mit Platzhaltern
https://[MeinServer] [Benutzername] [Passwort]
Probieren Sie in einem Terminalfenster aus, ob sich die Webdav-Ressource in das Dateisystem einbinden lässt:
sudo mount /mnt/webdav
Damit das beim Systemstart automatisch erfolgt, tragen Sie diese Befehlszeile ohne vorangestelltes „sudo“ in die Datei „/etc/ rc.local“ vor der Zeile „exit 0“ ein. Sollte „/etc/rc.local“ nicht vorhanden sein, etwa bei Ubuntu 18.04, dann erstellen Sie mit diesen zwei Befehlszeilen
printf '%s\n' '#!/bin/bash' 'exit 0' | sudo tee -a /etc/rc.local
sudo chmod +x /etc/rc.local
die Datei vorab.
Dateien von Netzwerkspeichern kopieren
Manchmal ist es gewünscht, Dateien von einem Cloudserver auf die lokale Festplatte oder einen anderen Cloudserver zu kopieren, etwa für Backups. Das Kommandozeilentool
rclone
kann Dateien von vielen Onlinediensten verarbeiten, darunter Nextcloud/Owncloud (über Webdav), Dropbox oder Google Drive. Außerdem beherrscht das Tool SFTP und FTP. Die Vorteile: Sie können für Backups über einheitliche Befehle Dateien aus unterschiedlichen Quellen auf die Festplatte kopieren und auch von einem Cloudspeicher zum anderen umziehen.
Zur Installation verwenden Sie diese Befehlszeile:
curl https://rclone.org/install.sh | sudo bash
Danach rufen Sie diesen Befehl auf:
rclone config
Ein einfaches Menü führt Sie durch die nötigen Schritte. Über „n) New Remote“ legen Sie eine aussagekräftige Bezeichnung für den Dienst fest, beispielsweise „nextcloud“. Danach geben Sie den Speichertyp an („24“ für Webdav) und die URL des Servers. Geben Sie den Anbieter an („1“ für Nextcloud) sowie Benutzername und Passwort. Bestätigen Sie die Einstellungen mit „y“ und verlassen Sie die Konfiguration mit „q“. Bei einer SFTP-Quelle läuft die Konfiguration entsprechend ab (Speichertyp „23“).
Erstellen Sie dann ein Verzeichnis, das die Dateien vom Server aufnehmen soll: mkdir ~/Team.sync Danach führen Sie diese Befehlszeile aus:
rclone copy -u -vv nextcloud:Team ~/ Team.sync
„nextcloud“ ist die bei der Konfiguration vergebene Bezeichnung für den Dienst und „Team“ ein Ordner auf dem Cloudserver. Verwenden Sie „/“, wenn Sie alle Ordner und Dateien kopieren wollen. Schalter „-u“ sorgt dafür, dass rclone nur Dateien kopiert, die neuer oder noch nicht vorhanden sind. „-vv“ bewirkt eine ausführliche Ausgabe im Terminalfenster.
Sollen die Dateien in die andere Richtung wandern, vertauschen Sie Quelle und Ziel:
rclone copy -u -vv ~/Team.sync nextcloud:Team
Bei Verwendung von „copy“ löscht rclone keine Dateien und überschreibt nur ältere. Ein Problem taucht auf, wenn sich eine Datei sowohl auf der lokalen Festplatte als auch auf dem Server geändert hat. Auch dann überschreibt rclone die ältere mit der neueren Datei. Für mehr Sicherheit hängen Sie die Option „--backup-dir nextcloud:Backup“ an.
Die ältere Version verschiebt das Tool dann in den Ordner „Backup“ auf dem Server. Bei der umgekehrten Richtung vom Server auf den PC verwenden Sie die Option wie im folgenden Beispiel
rclone copy -u -vv nextcloud:Team ~/ Team.sync --backup-dir ~/Team.bak
für einen lokalen Ordner.
Linux für jeden Zweck und jeden Anwender - der große Überblick(Bild 1 von 75)
AntiX Linux: Oldie-gerecht Ein sehr ressourcenschonendes Debian-Derivat und auch für antike Rechner geeignet. AntiX Linux beansprucht 256 MB RAM sollte vorhanden sein, ein Pentium-3-Prozessor sollte ausreichen. Als Fenster-Manager ist Fluxbox vorhanden. Für Web-Surfer steht der Iceweasel-Browser bereit, Debians Version des Firefox-Browsers.
AntiX Linux: Oldie-gerecht zur Bildergalerie-Großansicht