VsFTP installieren

Aus

Ziel

Einen alternativen und flexiblen FTP Dienst auf der Synology Disk Station installieren. Wahlweise mit nur Anonymen Zugang oder Anonymen und Authentifizierten Zugang. Für Benutzer können sogenannte Homeverzeichnisse eingerichtet werden. In diesen Verzeichnissen können sich die Benutzer eingeschränkt oder uneingeschränkt bewegen bzw. mit schreib –und leserechten ausgestattet werden.


Zielgruppe

Anwender die sich mehr Flexibilität bei der Rechte– und Verzeichnisadministration wünschen.

Voraussetzungen/Vorbereitungen

  • Die Disk-Station wurde mit einer Firmware durch den Synology Installation Assistenten oder im Station Manager mit der Firmwareaktualisierung bespielt. Näheres zur Installation der Firmware finden Sie hier
    • Tipp: Besorgen Sie sich eine aktuelle Firmware von der Hersteller Seite. [Synology Support] Da die .pat Datei auf der Installations-CD nicht mehr aktuell sein könnte.
  • Ihre Disk-Station ist mit mindestens einer Festplatte ausgestattet.
  • Die Netzwerkkonfiguration wurde ordnungsgemäß vorgenommen.
    Fehler beim Erstellen des Vorschaubildes: Datei fehlt
  • Wenn Ihr FTP Dienst auch aus dem Internet erreichbar sein soll, sollten Sie sich bei den zahlreichen Anbietern eine Dynamische DNS einrichten. Adressen und Informationen gibt es in der Linksammlung hier. Wenn Sie ein DSL-Router Ihr eigen nennen dürfen, sollte auf diesem Router auch die Portweiterleitung mindestens für den Port 21 auf die Ip-Adresse der Disk-Station eingerichtet sein. Nähere Informationen gibt es hier
  • Sie haben das Paketverwaltungssystem Ipkg installiert. Was ist Ipkg und wie installiere ich das? Näheres gibt es hier
  • Sie haben den Terminaldienst SSH oder Telnet auf Ihrer Disk-Station aktiviert. Was ist SSH oder Telnet? Wie aktiviere ich diesen Dienst? Nun SSH (Secure Shell) stellt eine sichere verschlüsselte Verbindung zu Ihrer Disk-Station her, und ermöglicht somit Befehlseingaben auf Kommandozeilenebene abzusetzen. Dies gilt analog für Telnet, nur das Telnet nicht verschlüsselt verbindet. Wenn Sie einen Router mit Firewall besitzen, dürfte das in Ihrem lokalen Netz kein Sicherheitsproblem darstellen. Aktivieren lassen sich diese Dienste über den Station-Manager im Webbrowser unter Terminal. Oder Sie laden sich unter Synology Patch link

Funktion Item/File
Telnet aktivieren EnableTelnet.pat
Telnet deaktivieren DisableTelnet.pat
SSH aktivieren EnableSSH.pat
SSH deaktivieren DisableSSH.pat



die entsprechenden Dateien runter und fügen diese über den Station-Manager unter Firmwareaktualisierung auf der Disk-Station ein.

Fehler beim Erstellen des Vorschaubildes: Datei fehlt


Installation

Ohne SSL Unterstützung

Für dieses Beispiel kommt Telnet zum Einsatz. Die Konfiguration der Disk-Station wird mit einem Windows basierten Rechner durchgeführt. Sie melden sich zunächst mit dem Kommandozeileninterpreter Telnet an der Disk-Station an. Diesen rufen Sie über Start>Ausführen auf.

  • Syntax:
    • telnet <hostname/Ip-Adresse>
telnet 192.168.178.1
  • Sie wurden bei der Installation der Firmware aufgefordert ein Passwort anzugeben. Dieses verwenden wir nun zusammen mit dem Benutzernamen „root“ für die Anmeldung.
DiskStation login: root
Passwort: *********
  • Wenn die Anmeldung an der Disk-Station erfolgreich war, erscheint die sogenannte Busybox von Linux.
BusyBox v1.1.0 (2008.09.19-12:36+0000) Built-in shell (ash)
Enter ´help´ for a list of built-in commands.

DiskStation> _
  • Zunächst stellen Sie fest, in welchem Verzeichnis Sie sich befinden.
DiskStation> pwd
/root
DiskStation> _
  • Sie befinden sich im Heimatverzeichnis von Root. Sie wechseln nun in das Rootverzeichnis der Synology Station.
DiskStation> cd /
DiskStation> _
  • Sie erstellen einen Ordner für das Installationspaket von vsFTP.
DiskStation> mkdir Ipk_Packages
DiskStation> _
  • Sie überprüfen nun ob der Ordner angelegt wurde.
DiskStation> ls
bin 	initrd 		lost+found 	 	sbin 		var
dev 	ipk_Packages 	mnt 			sys 		var.defaults
etc 	lib		proc 			tmp 		volume1
etc.defaults 		linuxrc		        root		usr
DiskStation> _
  • Sie wechseln in das Verzeichnis “ipk_Packages”
DiskStation> cd ipk_Packages
DiskStation> _
  • Nun benötigen Sie das begehrte vsFTP Paket und laden dies über das Programm „wget“ aus dem Internet. Zuvor lassen Sie sich noch die Information geben um welches Gerät es sich bei Ihrer Disk-Station handelt.
DiskStation> cat /proc/cpuinfo
processor	: 0
cpu		: 82xx
revision	: 1.4 (pvr 8081 1014)
bogomips	: 176.64
chipset	: 8245
vendor	: Synology Inc.
machine	: DS-101g+
DiskStation> _
  • In diesem Beispiel handelt es sich um eine DS-101g+. Sie besuchen nun mit einem Browser Ihrer Wahl die Seite http://ipkg.nslu2-linux.org/feeds und Sie navigieren entsprechend Ihrer Maschine in optware/…/cross/stable. Dort suchen Sie nach dem vsFTP Paket. Die aktuelle Version für dieses Beispiel ist die Datei „vsftpd_2.0.7-1_powerpc.ipk“
  • Wir laden nun die Datei vom Server
DiskStation> wget http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/stable/vsftpd_2.0.7-1_powerpc.ipk
....
DiskStation> _
  • Sie überprüfen ob sich das Paket in dem Verzeichnis befindet.
DiskStation> ls
vsftpd_2.0.7-1_powerpc.ipk
DiskStation> _
  • Sie können jetzt mit der Installation beginnen. Während der Installation werden Sie befragt, ob Sie die vsftpd.conf Datei in ihrem Ursprung belassen wollen. Sie bestätigen mit „n“ für Nein.
DiskStation>  ipkg install vsftpd_2.0.7-1_powerpc.ipk
Installing vsftpd (2.0.7-1) to /opt/...
Installing vsftpd (2.0.7-1) to /opt/...
Installing vsftpd (2.0.7-1) to /opt/...
Installing vsftpd (2.0.7-1) to /opt/...
Installing vsftpd (2.0.7-1) to /opt/...
Installing vsftpd (2.0.7-1) to /opt/...
Installing vsftpd (2.0.7-1) to /opt/...
Installing vsftpd (2.0.7-1) to /opt/...
    Configuration file '/opt/etc/vsftpd.conf'
    ==> File on system created by you or by a script.
    ==> File also in package provided by package maintainer.
       What would you like to do about it ?  Your options are:
        Y or I  : install the package maintainer's version
        N or O  : keep your currently-installed version
          D     : show the differences between the versions (if diff is installed)
     The default action is to keep your current version.
    *** vsftpd.conf (Y/I/N/O/D) [default=N] ?Configuring vsftpd
You'll need to add line like
echo "ftp stream tcp nowait root /opt/sbin/vsftpd /opt/etc/vsftpd.conf" >>/etc/inetd.conf
to your /unslung/rc.xinetd file -- see the wiki at http://www.nslu2-linux.org for more info
Successfully terminated.
 DiskStation> _
  • Im Idealfall sollte die Installation von vsFTP ohne Fehler abgeschlossen sein.

Mit SSL Unterstützung:

Vorrausetzungen/Vorbereitungen


  • Sie haben die Schritte im Abschnitt "ohne SSL Unterstützung" durchgeführt.
  • Sie sind mit Telnet oder Putty auf der DS angemeldet.
  • Sie haben das OpenSSL Packet installiert (Durchführung wird in diesen Abschnitt erläutert).
  • Sie verfügen über das für Ihre Architektur bestimmte vsftpd binary mit kompilierter SSL-Unterstützung (Quelle: hier).



Installation von OpenSSL

Der Packetmanager soll sich zunächst eine aktuelle Liste der verfügbaren Packete holen.

DiskStation> ipkg update
Downloading http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/stable/Packages.gz
Inflating http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/stable/Packages.gz
Updated list of available packages in /opt/lib/ipkg/lists/optware
Downloading http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/stable/Packages.gz
Inflating http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/stable/Packages.gz
Updated list of available packages in /opt/lib/ipkg/lists/cross
Successfully terminated.

Wir weisen den Paketmanager an das OpenSSL Packet zu laden und anschließend zu installieren.

DiskStation> ipkg install openssl
Installing openssl (0.9.7m-5) to /opt/...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/stable/openssl_0.9.7m-5_powerpc.ipk
wget: error while loading shared libraries: libssl.so.0.9.7: cannot open shared object file: No such file or directory
Nothing to be done
An error ocurred, return value: 22.
Collected errors:
ipkg_download: ERROR: Command failed with return value 127: `wget --passive-ftp    -q -P /opt/ipkg-MH3QKy http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/stable/openssl_0.9.7m-5_powerpc.ipk'
Failed to download openssl. Perhaps you need to run 'ipkg update'?

Ups. Das kommt davon, wenn man vorher für den Wiki das Paket deinstalliert um eine Installation zu demonstrieren. Ok, wer das gleiche Problem mit einer zerschossenen OpenSSL Installation hat, der darf sich so wie ich das Paket manuell auf die DS laden. Also ich besorg mir unter http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/stable für meine Architektur das OpenSSL Paket. Vorher sorge ich für einen Speicherpfad und wechsel in das Verzeichnis.

DiskStation> mkdir -p /ipk_Packages
DiskStation> cd /ipk_Packages
DiskStation> wget http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/stable/openssl_0.9.7m-5_powerpc.ipk
--2012-02-23 23:33:39--  http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/stable/openssl_0.9.7m-5_powerpc.ipk
Resolving ipkg.nslu2-linux.org... 140.211.169.161
Connecting to ipkg.nslu2-linux.org|140.211.169.161|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 768888 (751K) [text/plain]
Saving to: `openssl_0.9.7m-5_powerpc.ipk.1'

     0K .......... .......... .......... .......... ..........  6% 56.3K 12s
    50K .......... .......... .......... .......... .......... 13% 86.7K 10s
   100K .......... .......... .......... .......... .......... 19%  101K 8s
   150K .......... .......... .......... .......... .......... 26%  276K 6s
   200K .......... .......... .......... .......... .......... 33%  142K 5s
   250K .......... .......... .......... .......... .......... 39%  141K 4s
   300K .......... .......... .......... .......... .......... 46%  269K 3s
   350K .......... .......... .......... .......... .......... 53%  141K 3s
   400K .......... .......... .......... .......... .......... 59%  141K 3s
   450K .......... .......... .......... .......... .......... 66%  280K 2s
   500K .......... .......... .......... .......... .......... 73%  277K 1s
   550K .......... .......... .......... .......... .......... 79%  284K 1s
   600K .......... .......... .......... .......... .......... 86%  283K 1s
   650K .......... .......... .......... .......... .......... 93%  281K 0s
   700K .......... .......... .......... .......... .......... 99% 4.67M 0s
   750K                                                       100%  173K=4.6s

2012-02-23 23:33:44 (162 KB/s) - `openssl_0.9.7m-5_powerpc.ipk.1' saved [768888/768888]
DiskStation>

Jetzt die manuelle Installation

DiskStation> ipkg install openssl_0.9.7m-5_powerpc.ipk
Installing openssl (0.9.7m-5) to /opt/...
Installing openssl (0.9.7m-5) to /opt/...
Installing openssl (0.9.7m-5) to /opt/...
Installing openssl (0.9.7m-5) to /opt/...
Installing openssl (0.9.7m-5) to /opt/...
Installing openssl (0.9.7m-5) to /opt/...
Installing openssl (0.9.7m-5) to /opt/...
Installing openssl (0.9.7m-5) to /opt/...
Installing openssl (0.9.7m-5) to /opt/...
Configuring openssl
Successfully terminated.
DiskStation>

Vsftpd Upgrade mit SSL Unterstützung

  • Speicherpfad anlegen und in Verzeichnis wechseln.
  • Vsftpd Archiv mit SSL Unterstützung laden.
DiskStation> mkdir -p /opt/vsftpd
DiskStation> cd /opt/vsftpd
DiskStation> wget http://sourceforge.net/projects/synonassource/files/vsftpd/vsftpd-2.3.5_SSL.tar.gz
--2012-02-24 00:04:59--  http://sourceforge.net/projects/synonassource/files/vsftpd/vsftpd-2.3.5_SSL.tar.gz
Resolving sourceforge.net... 216.34.181.60
Connecting to sourceforge.net|216.34.181.60|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://sourceforge.net/projects/synonassource/files/vsftpd/vsftpd-2.3.5_SSL.tar.gz/download [following]
--2012-02-24 00:05:00--  http://sourceforge.net/projects/synonassource/files/vsftpd/vsftpd-2.3.5_SSL.tar.gz/download
Connecting to sourceforge.net|216.34.181.60|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://downloads.sourceforge.net/project/synonassource/vsftpd/vsftpd-2.3.5_SSL.tar.gz?r=&ts=1330038300&use_mirror=heanet [following]
--2012-02-24 00:05:00--  http://downloads.sourceforge.net/project/synonassource/vsftpd/vsftpd-2.3.5_SSL.tar.gz?r=&ts=1330038300&use_mirror=heanet
Resolving downloads.sourceforge.net... 216.34.181.59
Connecting to downloads.sourceforge.net|216.34.181.59|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://heanet.dl.sourceforge.net/project/synonassource/vsftpd/vsftpd-2.3.5_SSL.tar.gz [following]
--2012-02-24 00:05:00--  http://heanet.dl.sourceforge.net/project/synonassource/vsftpd/vsftpd-2.3.5_SSL.tar.gz
Resolving heanet.dl.sourceforge.net... 193.1.193.66, 2001:770:18:aa40::c101:c142
Connecting to heanet.dl.sourceforge.net|193.1.193.66|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 55905 (55K) [application/x-gzip]
Saving to: `vsftpd-2.3.5_SSL.tar.gz.1'

     0K .......... .......... .......... .......... .......... 91%  228K 0s
    50K ....                                                  100%  919K=0.2s

2012-02-24 00:05:01 (249 KB/s) - `vsftpd-2.3.5_SSL.tar.gz.1' saved [55905/55905]
DiskStation>

Sollte das Archiv nicht auffindbar sein, könnte es sein, dass diese Version nicht mehr aktuell ist. Schauen Sie bitte dann unter http://sourceforge.net/projects/synonassource/files/vsftpd nach der aktuellen Version und passen den Pfad für den Befehl wget (.../vsftpd/[Archiv]) entsprechend an.

Nun entpacken wir das Archiv und ersetzen die alte vsftpd binary gegen die neue aus dem Archiv. Vorher sollten Sie die alte binary umbenennen.

DiskStation> mv /opt/sbin/vsftpd /opt/sbin/vsftpd.old
DiskStation> tar -xzf vsftpd-2.3.5_SSL.tar.gz
DiskStation> ls -l
-rwxrwxrwx    1 guest    users       18288 Feb  2  2008 COPYING
-rwxrwxrwx    1 guest    users         312 Feb  2  2008 LICENSE
drwxrwxrwx    2 guest    users        4096 Feb 24 00:22 ppc
-rw-r--r--    1 Ioot     root        55905 Feb 23 21:04 vsftpd-2.3.5_SSL.tar.gz
DiskStation>

Bitte wählen Sie entsprechend Ihrer Architektur den Ordner aus der die binary kopiert werden soll. In diesem Beispiel handelt es sich um eine PowerPC Architektur und deshalb wird die binary aus dem Ordner ppc kopiert.

DiskStation> cp /opt/vsftpd/ppc/vsftpd /opt/sbin
DiskStation>

...


Konfiguration

Vorbereitungen

  • Der nächste Schritt fordert erhöhte Konzentration. Denn bei einem Tippfehler könnte es passieren, dass die Disk-Station nicht mehr richtig bootet.
  • Der inetd als Superdaemon sollte in der Lage sein den FTP-Server zu starten. Daher muss die Datei /etc/inetd.conf mit einem Editor angepasst werden.
DiskStation> vi /etc/inetd.conf

telnet		stream		tcp	nowait		root	/usr/sbin/telnetd	telnetd
~
~
~ 
~
~
- /etc/inetd.conf  1/1 100%
  • Der Umgang mit dem Editor ist etwas gewöhnungsbedürftig. Aber für eine Zeile die angepasst werden muss völlig ausreichend. Näheres zu dem Vi Editor und seiner Steuerung finden Sie unten in der Linksammlung oder hier.
  • Zunächst müssen Sie in den Eingabemodus wechseln um Änderungen an dieser Datei vornehmen zu können. Das machen Sie mit der Tastenkombination <Shift + i>.
  • Wenn Sie mit den Pfeiltasten auf das t von telnet navigieren und die <Enter> Taste drücken, fügen Sie eine neue Zeile ein. Sie schreiben bitte folgende Zeile und trennen die Begriffe mit der <Tab> oder <Space> Taste.
ftp         stream  	tcp     	nowait  	root    /opt/sbin/vsftpd 	/opt/etc/vsftpd.conf
  • Auf Ihrem Bildschirm sollte folgendes angezeigt sein.
ftp        stream  	tcp     	nowait  	root    	/opt/sbin/vsftpd 	/opt/etc/vsftpd.conf
telnet	   stream	tcp	        nowait		root	        /usr/sbin/telnetd	telnetd
~
~
~ 
~
~
I /etc/inetd.conf  [modified] 1/2 50%
  • Wenn dies der Fall ist, müssen Sie den Editormodus verlassen und die Datei mit den Änderungen abspeichern. Dazu drücken Sie die <Esc> Taste. Anschließend die
    Tastenkombination < Shift + : > und geben den Befehl wq ein. Das ganze mit der Taste <Enter> abschließen.
  • Damit nicht 2 Dienste auf einem Port laufen müssen Sie sich vergewissern, dass der mitgelieferte FTP Dienst deaktiviert ist. Dazu rufen Sie den Station-Manager im Browser auf, navigieren zu Netzwerkdienste/FTP und überprüfen die Option „FTP Service aktivieren“.
  • Sie können jetzt die Disk-Station oder den „inetd“ Prozess neustarten. Mit der zweiten Variante nehmen Sie wieder Telnet zur Hilfe.
DiskStation> ps | grep inetd
1325 root	680 S	/usr/sbin/inetd
2766 root	220 S	grep inetd
DiskStation> _
  • In diesem Beispiel ist die ProzessID für den Prozess inetd "1325". Bitte passen Sie Ihre ProzessID entsprechend an und starten inetd neu.
DiskStation> kill –HUP 1325
DiskStation> _
  • vsFTP ist nun installiert und sollte bereits laufen. Sie können dies lokal überprüfen.


Syntax:
ftp://<Benutzername>:<Kennwort>@<Ip-Adresse>


FEHLER: Für den Benutzer Anonymous ist kein Homeverzeichnis angelegt. Somit kann dieser sich auch nicht mit dem FTP-Server verbinden.

Fehler beim Erstellen des Vorschaubildes: Datei fehlt



Anonymen Zugang einrichten

Zugang mit Benutzer/Passwort Authentifizierung

Zugang mit SSL Zertifikat und PAM

Links

Installation und Konfiguration von vsFTP (deutsch)

Quellen

Glosar

  • Binary: Eine unter Linux ausführbare Programmdatei.