Alternative zum integriertem FTP-Server (vsftp aus ipkg verwenden)
Nachdem ich erfolglos versucht habe den integrierten FTP-Server aus der oleg-Firmware (renewed: WL500gpv2-1.9.2.7-rtn-r3121)
nach newbiefan's Anleitung zu konfigurieren, habe ich einfach mal vsftpd aus dem Repo installiert und möchte nun meine Erkenntnisse mit euch teilen.
Voraussetzung ist natürlich ein fertig aufgesetzter WL500gP(v2) nach wengi's How To mit der oleg-Firmware (renewed).
Bevor ihr meine Lösung allerdings in die Tat umsetzt, sollte sich einer das Ganze mal kritisch ansehen und vor allem Tipps geben
wie man die Sache sicherer gestalten kann. Der angelegte Benutzer ist ja ein vollwertiger Benutzer!
- per SSH (unter Windows mit PuTTY) auf dem Router einloggen und das vsftpd-Paket installieren:
Code:
ipkg install vsftpd
falls nicht vorhanden auch "adduser" installieren (wird später für die Benutzerverwaltung benötigt):
Code:
ipkg install adduser
- Datei "vsftpd" in /opt/etc/xinetd.d/ mit folgendem Inhalt anlegen (damit vsftpd per xinetd gestartet wird):
Code:
service ftp
{
socket_type = stream
server = /opt/sbin/vsftpd
protocol = tcp
port = 21
user = admin
group = root
wait = no
disable = no
}
- Konfiguration in vsftpd.conf nach Bedarf anpassen. Meine sieht wie folgt aus:
Code:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
vsftpd_log_file=/opt/var/log/vsftpd.log
#xferlog_std_format=YES
idle_session_timeout=600
data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
ftpd_banner=Du benutzt zwennysFTPserver auf zwennysgateway
#deny_email_enable=YES
#banned_email_file=/opt/etc/vsftpd.banned_emails
chroot_local_user=YES
#chroot_list_enable=YES
#chroot_list_file=/opt/etc/vsftpd.chroot_list
ls_recurse_enable=YES
listen=NO
#listen_ipv6=YES
- Die FTP-Benutzer habe ich einfach mit "adduser" erstellt:
Code:
adduser Benutzername
Anschließend müsst ihr ein Passwort eingeben und dieses nochmal bestätigen. Der Benutzer ist dann in /etc/passwd eingetragen.
- In /etc/passwd muss dann noch das Heimatverzeichnis (home) zum gewünschten FTP-Pfad für den Benutzer geändert werden.
Der Pfad ist absolut und wird vorgegeben mit /home/Benutzername.
Erstellt man also einen Benutzer namens ftpuser würde der Eintrag in /etc/passwd folgendermaßen aussehen:
Code:
ftpuser:waKS/Rlnrx4XY:1001:1001:Linux User,,,:/home/ftpuser:/bin/sh
Aus Sicherheitsgründen glaube ich sollte die letzte Spalte von "/bin/sh" besser auf "/bin/false" gesetzt werden,
damit das Benutzerkonto nicht missbraucht werden kann!
Ihr könnt den Benutzer übrigens ganz einfach wieder mit
Code:
deluser Benutzername
löschen.
- Jetzt könnt ihr xinetd neustarten und damit vsftpd anschmeißen:
Code:
/opt/etc/init.d/S10xinetd restart
Damit solltet ihr dann per FTP-Cliet auf die FTP-Freigaben gelangen.