VSFTPD unter OpenBSD einrichten.


Wer wie ich auf der Suche nach einer kleinen Anleitung ist, wie man unter OpenBSD den VSFTPD Server einrichtet wird viel Trash und Unvollständiges finden.

Dieses howto soll dazu dienen einen FTP-Server mit Hilfe von VSFTPD unter OpenBSD zum Laufen zu bekommen.

Es wird davon ausgegangen das Ihnen der Umgang mit der Shell, den Benutzerrechten und einem Texteditor nicht fremd sind.

Als erstes installieren wir uns den VSFTPD-Server, loggen Sie sich dazu auf Ihrem Computer als root ein.

Als nächstes müssen wir die benötigten Pakete installieren, geben Sie dazu folgenden Befehl ein und führen ihn aus, den Rest macht dann OpenBSD für Sie!

pkg_add -v vsftpd

Dies wird nun je nach Geschwindigkeit Ihrer Internetanbindung und der Leistung des Computers einen kurzen Moment dauern.

Jetzt sollte alles ohne Fehlermeldungen installiert worden sein, sie können dies Überprüfen indem sie in der Shell den Befehl vsftpd eingeben.
Sofern keine Fehlermeldung erscheint können Sie den Server nun durch drücken der STRG + C Kombination wieder ausschalten.

Nun kommen wir zur Konfiguration des Servers, denn von Haus aus ist dieser Server wie der Name schon sagt: "V(ery)S(ecure)FTPD" so sicher eingestellt, dass so gut wie nichts erlaubt ist.

Öffnen Sie nun mit einem Texteditor ihrer Wahl die Konfigurationsdatei in /etc/vsftpd.conf, Sie sollten nun eine Beispiel-Datei zu Gesicht bekommen.

Ich lösche den Inhalt der Datei gerne um es übersichtlicher zu gestalten.
Folgende Einträge müssen gemacht werden um den Server so einzurichten, dass auch lokalen Benutzern auf Ihrem System Zugang gewährt wird.

anonymous_enable=NO Sagt aus, dass sich kein Benutzer Anonym anmelden darf.

anon_mkdir_write_enable=NO Anonyme-Benutzer haben keine Schreibrechte.

local_enable=YES Lokale Benutzer auf Ihrem System dürfen sich anmelden.

write_enable=YES Richtet lokalen Benutzern Schreiberechte ein.

xferlog_enable=YES Sagt aus, dass Uploads und Downloads Protokolliert werden.

xferlog_file=/var/log/vsftpd.log Gibt an wo sich die Log-Datei befinden soll.

ftpd_banner=FTP-Server Name Hier geben Sie eine Willkommensnachricht ein, die beim Login auf dem Server an den Benutzer gesendet wird.

chroot_local_user=YES Sagt aus, dass sich Benutzer nur in ihrem Home-Verzeichnis bewegen dürfen.

Bei den restlichen Optionen brauchen Sie in der Regel nichts ändern, einfach mit eintragen.

chroot_list_enable=YES
chroot_list_file=/etc/ftpchroot
userlist_enable=YES
userlist_file=/etc/ftpusers
secure_chroot_dir=/var/empty
pasv_min_port=49152
pasv_max_port=65535
text_userdb_names=YES
listen=YES

Benutzer Verzeichnis

Es gibt Situationen da möchte man nicht unbedingt das Homeverzeichnis komplett freigeben und dem Benutzeraccount ein bestimmtes Verzeichnis zuweisen.

Dazu sind noch folgende Optionen in der /etc/vsftpd.conf zu machen.

user_config_dir=/etc/ftpdir

Das Verzeichnis ftpdir muss in der Regel noch angelegt werden, dies macht man mit dem Befehl mkdir /etc/ftpdir.

In dem Verzeichnis wird nun eine Datei angelegt, die dem Namen des Benutzers gleich ist, also wenn der Benutzer-Login z.B. Peter ist muss die Datei auch Peter heißen ohne Endung bzw. conf.
In dieser Datei müssen folgende Angaben gemacht werden.

local_root=/home/user/ftp

Das Verzeichnis /home/user/ftp ist natürlich nur ein Beispiel und sollte nach Ihren Wünschen angepasst werden.
Speichern Sie die Datei ab und starten Sie nun den Server wie oben beschrieben.
Wenn Sie sich nun mit Ihren Daten einloggen, sollten Sie im angegebenen Verzeichnis landen, statt im /home/username (Beispiel) Verzeichnis.

Server Autostart.

Da wir den Server lästigerweise nicht immer manuell starten wollen, können wir nun das Betriebssystem diese Arbeit für uns erledigen lassen, wenn es startet.
Dafür müssen wir die Datei /etc/rc.loacl bearbeiten und folgendes hinzufügen.

echo '\nStarte VSFTPD.\n'
./usr/local/sbin/vsftpd &

Das ganze abspeichern und beim nächsten Systemstart wird der Server automatisch gestartet. Ganz wichtig ist das & Zeichen am Ende, denn dies sagt aus, dass das Programm als Hintergrund-Prozess ausgeführt werden soll.

Ich gebe keine Garantie auf Vollständigkeit und Richtigkeit, sollten Sie Fehler finden so lassen Sie es mich bitte wissen.
Artikel-Jahr: 2010