FTP (File Transfer Protocol) ist ein stabiles und solides File Sharing Protokoll.
Installation
Zunächst muss man wie folgt das Paket für den Server installieren:
sudo apt-get install proftpd
Einrichtung
Nach der Installation kann man nun die Einstellungen zur Freigabe einstellen.
Sämtliche Einstellungen werden in der Datei /etc/proftpd/proftpd.conf getroffen.
Standardmäßig ist der Zugriff auf den FTP Server über die am Server registrierten Benutzer möglich. Das Verzeichnis ist dabei stets deren Home Verzeichnis. Der Nutzer Joe hat also über den FTP Zugriff auf /home/joe.
Weiterhin besteht die Möglichkeit, ein festes Verzeichnis für die Freigabe vorzusehen.
Dies geschieht in dem man in der /etc/proftpd.conf den Default Root verändert:
DefaultRoot /srv/freigabe
Dabei sollte man allerdings beachten, dass man die Berechtigungen so setzt, dass alle Nutzer darauf Zugriff haben. Dazu kommen wir im nächsten Punkt.
Berechtigungen
Es empfiehlt es sich eine spezielle Gruppe anzulegen, welche Zugriff auf das Verzeichnis hat:
# Gruppe anlegen
sudo groupadd freigabe
# Den Benutzer der Gruppe hinzufügen
sudo usermod -aG freigabe joe
# Gruppe des freigegebenen Verzeichnisses ändern
sudo chgrp -R freigabe /srv/freigabe
# Berechtigungen anpassen (Schreibzugriff für Eigentümer und Gruppe, Sonstige nur Lesezugriff)
chmod -R 775 /srv/freigabe
Wenn man nun möchte, dass alle Dateien/Ordner immer dem gleichen Benutzer und der gleichen Gruppe gehören, muss man folgende Zeile an die /etc/proftpd/proftpd.conf anfügen:
<Directory /srv/freigabe>
UserOwner joe
GroupOwner freigabe
</Directory>
Hiermit werden alle hochgeladenen Dateien dem Nutzer joe mit der Gruppe freigabe gehören.
Man hat die Wahl virtuelle oder echte Benutzer für die Anmeldung zu verwenden. Wir werden hier auf die echten Benutzer eingehen.
Einen neuen Benutzer, der gleich Zugriff auf die Freigabe hat, erstellt man wie folgt:
sudo adduser test --ingroup freigabe --shell /bin/false
Damit wird der neue Nutzer gleich der Gruppe freigabe zugewiesen. Die Option --shell /bin/false beschreibt, dass der Nutzer sich nicht lokal anmelden kann. Dies verhindert, dass er sich beispielsweise Zugriff per SSH verschaffen kann. Ist dies erwünscht, kann man die Option einfach weglassen.
Anschließend erscheint ein kurzer Dialog, in dem man weitere Informationen und das Passwort eingibt.
Hat man die Shell auf /bin/false (wie oben beschrieben) gesetzt, ist es wichtig, dass in der /etc/proftpd/proftpd.conf die folgende Zeile vorhanden ist und nicht mit einem # auskommentiert ist:
RequireValidShell off
Leave a comment