PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : VSFTPD Konfiguration



gerdum
26.11.04, 07:59
Hallo Forumianer:
Auf SuSE 9.2 Pro will ich einen FTP-Server laufenlassen, habe mich für VSFTP entschieden (haette auch einen anderen nehmen können, aber vs für very secure hat mir gefallen).
Installation habe ich über Yast 2 durchgeführt.
Die Konfiguration habe ich anhand der Anleitung:
http://www.code-com.de/tutorials/unix_linux/Vsftpd_als_FTP-Server_konfigurieren.htm durchgeführt.

Meine vsftpd.conf:

# anonymus FTP server.
write_enable=YES
dirmessage_enable=YES
#nopriv_user=ftpsecure
ftpd_banner="Welcome to WS01 FTP service."
#ls_recurse_enable=YES
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd.banned_emails
#hide_ids=YES
local_enable=YES
local_umask=022
#chroot_local_user=YES
# users to NOT chroot().
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
#local_max_rate=7200
# Allow anonymous FTP?
# anonymous_enable=YES
# anon_world_readable_only=YES
# anon_upload_enable=YES
# anon_umask=022
# anon_mkdir_write_enable=YES
# anon_other_write_enable=YES
# chown_uploads=YES
# chown_username=whoever
# anon_max_rate=7200
syslog_enable=YES
log_ftp_protocol=YES
xferlog_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
xferlog_std_format=YES
xferlog_file=/var/log/xferlog
dual_log_enable=YES
#setproctitle_enable=YES
connect_from_port_20=YES
idle_session_timeout=600
#data_connection_timeout=120
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
#pasv_enable=NO
pam_service_name=vsftpd
listen=YES

Meine vsftp.chroot_list:
#Usern "chrooten"
ftpuser1

Wenn ich den Server starten will, bzw auf den FTP Server zugreifen will, bekomme ich folgende Fehlermeldung:
could not bind listening IPv4 socket

Kann mir jemand helfen - Danke

Tomek
26.11.04, 10:11
Anscheinend läuft bereits ein anderer FTP-Server auf dem Port. Du kannst mit folgendem Befehl das überprüfen:

lsof -i :21

gerdum
26.11.04, 10:40
Hallo Tomek,

danke fuer Deinen Vorschlag. Habe in der Zwischenzeit noch den vsftpd so konfiguriert, dass er nicht mehr als standalone Server gestartet wird, sondern dass der superserver xinetd ihn startet, in der vsftpd.conf habe ich die option listen wieder "remarked".

# Set listen=YES if you want vsftpd to run standalone
#
# listen=YES

Jetzt läuft er anscheinend, habe aber noch Probleme mit dem Zugriff.
wenn ich Deinen Vorschlag aufgreife, erhalte ich jetzt folgende Antwort:
wslinux:~ # lsof -i :21
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
xinetd 5463 root 5u IPv4 14248 TCP *:ftp (LISTEN)

Trotzdem würde ich ihn gerne im standalone modus laufen lassen.
Danke

Tomek
26.11.04, 10:42
Das sieht nicht nach vsftpd aus. Es scheint immernoch ein anderer FTP-Server bei dir zu laufen. Erst wenn du den abgeschaltet hast, wird dein vsftpd starten können.

Blackhawk
26.11.04, 10:42
Wenn Du iohn ueber den xinetd startest, muss der ja logischer weise auf Port 21 hoeren. Willst du das nicht, hau es aus der xinetd-Config raus...

gerdum
26.11.04, 11:12
Hello Tomek


Das sieht nicht nach vsftpd aus. Es scheint immernoch ein anderer FTP-Server bei dir zu laufen. Erst wenn du den abgeschaltet hast, wird dein vsftpd starten können.

wie stelle ich fest welcher ftü-server läuft. Ich kann mich nicht erinnern ausser vsftp einen installiert zu haben.

Thanks

gerdum
26.11.04, 11:19
Hallo Balckhawk


Wenn Du iohn ueber den xinetd startest, muss der ja logischer weise auf Port 21 hoeren. Willst du das nicht, hau es aus der xinetd-Config raus...

Danke - nein, nein ich will den Standardport 21 nutzen.

jake
26.11.04, 11:24
huhu :-)

mach mal

ps aux | grep ftp

das filtert die alle prozesse aus der prozessliste die was mit dem name ftp zu tun zu haben,

sollte da nix kommen kannste auch nochmal mit

ps aux die ganze prozessliste durschauen, ob evtl. ein ftp server läuft.

bye jake

gerdum
26.11.04, 11:31
Hi jake Danke


huhu :-)

mach mal

ps aux | grep ftp

das filtert die alle prozesse aus der prozessliste die was mit dem name ftp zu tun zu haben,

sollte da nix kommen kannste auch nochmal mit

ps aux die ganze prozessliste durschauen, ob evtl. ein ftp server läuft.

bye jake

habe ich gemacht hier die Antwort:
wslinux:~ # ps aux | grep ftp
root 12026 0.0 0.1 1728 628 pts/1 S+ 11:32 0:00 grep ftp

sieht nicht sehr aussagekräftig aus - oder heisst das es läuft kein ftpd, wenn ich die ganze Prozessliste durchgehe, finde ich auch nichts zu ftp oder vsftpd

jake
26.11.04, 11:33
ne dann schauts need so aus das ein ftp läuft

root 12026 0.0 0.1 1728 628 pts/1 S+ 11:32 0:00 grep ftp
das ist der prozess von 'grep'

hattest du evtl schonmal vorher ein FTP server laufen?
vielleicht schwird da noch irgendwo was rum, was dein vsftpd stört.

evtl mal booten

bye jake

gerdum
26.11.04, 11:38
Hi jake,


ne dann schauts need so aus das ein ftp läuft

root 12026 0.0 0.1 1728 628 pts/1 S+ 11:32 0:00 grep ftp
das ist der prozess von 'grep'

hattest du evtl schonmal vorher ein FTP server laufen?
vielleicht schwird da noch irgendwo was rum, was dein vsftpd stört.

evtl mal booten

bye jake

habe ein völlig jungfreuliches System mit SuSE 9.2 aufgesetzt, kann also kein "alter" ftpd rumschwirren.
Reboot hört sich aber sehr nach Bill Gates an - das kann doch in einem Linux-Umfeld nicht sein - oder muss ich mich auch hier darauf einsstellen?

Blackhawk
26.11.04, 13:15
schau lieber mal die configdatei von deinem xinetd an, da liegt vermutlich der Hase im Pfeffer (hmm, lecker....)

jake
26.11.04, 13:19
Reboot hört sich aber sehr nach Bill Gates an - das kann doch in einem Linux-Umfeld nicht sein - oder muss ich mich auch hier darauf einsstellen?


ne brauchst dich nicht darauf einstellen :-)
manchmal hilft das einfach und diese lösung ist manchmal schneller als lange zeit irgend ein bit zu finden was sich noch im system breit macht und alles plokiert :-)

keine angst, bill gates wird hier nicht gebraucht *lach

bye jake

neo5K
26.11.04, 17:13
Wenn vsftpd via xinetd gestartet wird und augenblicklich niemand auf den ftp zugreift, dann erscheint bei der Ausgabe von
ps aux | grep ftp selbstverständlich nur
root 12026 0.0 0.1 1728 628 pts/1 S+ 11:32 0:00 grep ftp xinetd startet den ftp-daemon ja nur dann, wenn eine Anforderung besteht.

Sobald dann eine Verbindung zu vsftpd aufgebaut wurde, liefert die Ausgabe von ps aux z.B.:

root 3901 0.0 0.1 1832 576 ? S 17:05 0:00 vsftpd
nobody 3902 0.0 0.1 1844 612 ? S 17:05 0:00 vsftpd
root 3906 0.0 0.1 3872 660 pts/1 R 17:05 0:00 grep vsftpd
Das ist ja u.a. der Sinn an der Sache. xinetd oder inetd stellen einen Dienst nur dann zur Verfügung, wenn eine diesbezügliche Anfrage besteht.

Übrigens sieht

wslinux:~ # lsof -i :21
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
xinetd 5463 root 5u IPv4 14248 TCP *:ftp (LISTEN) sehr wohl nach vsftpd aus.

mfg,
neo5k

neo5K
26.11.04, 17:19
Um zu überprüfen, ob Du vsftpd installiert hast, befragst Du einfach Deine RPM-Datenbank mittels:

rpm -q vsftpd
Einen einfachen Test - um zu prüfen, ob der ftp überhaupt reagiert - kannst Du beispielsweise auch über telnet machen:

telnet localhost 21
Zusätzlich kannst Du auch noch einen Blick auf diesen Artikel werfen:
http://www.linuxfocus.org/Deutsch/July2004/article341.shtml

mfg,
neo5k

`kk
26.11.04, 18:20
Du hast nicht zufällig noch inetd installiert und in der /etc/inetd.conf den Standard-FTP-Server aktiviert? :ugly:

gerdum
27.11.04, 01:23
Hello neo5k


Um zu überprüfen, ob Du vsftpd installiert hast, befragst Du einfach Deine RPM-Datenbank mittels:

rpm -q vsftpd
Einen einfachen Test - um zu prüfen, ob der ftp überhaupt reagiert - kannst Du beispielsweise auch über telnet machen:

telnet localhost 21
Zusätzlich kannst Du auch noch einen Blick auf diesen Artikel werfen:
http://www.linuxfocus.org/Deutsch/July2004/article341.shtml

mfg,
neo5k
Danke für die Tips ;)

gerdum
27.11.04, 01:34
Hello `KK


Du hast nicht zufällig noch inetd installiert und in der /etc/inetd.conf den Standard-FTP-Server aktiviert? :ugly:

Installationen und Konfigurationen versuche ich wenn möglich mit yast durchzuführen (habe ich mich jetzt als den absoluten newbie in Sachen Linux geoutet?). Deshalb habe ich nicht bewusst inet.d oder xinet.d installiert, sondern bin der Installation von Yast gefolgt. Ich finde aber das directory in /etc/init.d wie auch xinitd.d auf meinem SYstem. Letzteres scheint der Superserver zu sein.

gerdum
27.11.04, 01:59
Hello `KK



Installationen und Konfigurationen versuche ich wenn möglich mit yast durchzuführen (habe ich mich jetzt als den absoluten newbie in Sachen Linux geoutet?). Deshalb habe ich nicht bewusst inet.d oder xinet.d installiert, sondern bin der Installation von Yast gefolgt. Ich finde aber das directory in /etc/init.d wie auch xinitd.d auf meinem SYstem. Letzteres scheint der Superserver zu sein.

Aua
:rolleyes:

nachdem ich die Antwort geschrieben habe, habe ich nochmals im SuSE Administrationshandbuch unter 2.6 Netzwerkdienste das Verwirrspiel inetd/xinetd nachgelesen: 2.6.11. Netzwerkdienste (inetd)
"Standardmäßig wird der übergeordnete Dienst, der die einzelnen Netzdienste verwaltet (inetd oder xinetd) nicht gestartet.
Nach Start dieses Moduls wählen Sie aus, welchen der beiden Dienste Sie konfigurieren wollen. Im folgenden Dialog entscheiden Sie per Radiobutton, ob inetd (bzw. xinetd) gestartet werden soll. "
Dann habe ich in Yast die Netzwerkdienste-Installation, Konfiguration gestartet und jetzt wurde mir die Radiobutton für die Wahl zwischen inetd und xinetd klar - ich nutze xinetd.
:rolleyes: man muss eben doch genauer lesen - lieber zweimal lesen - Entschuldigung

neo5K
27.11.04, 10:30
Hallo gerdum,

kann schon mal vorkommen. Mich würde eigentlich mehr interessieren, ob vsftpd jetzt bei Dir funktioniert oder nicht.

BTW, Du kannst Deine RPM-DB natürlich auch nach allen Paketen absuchen, die die Zeichenfolge "ftp" besitzen:


rpm -qa | grep ftp
Somit siehst Du dann auch, ob nicht doch ein anderer FTP-Daemon installiert ist und dazwischenfunkt.

Übrigens brauchst Du nicht immer die kompletten Postings Deiner "Vorredner" zitieren. ;)

mfg,
neo5k

gerdum
27.11.04, 16:34
Hello neo5K



Mich würde eigentlich mehr interessieren, ob vsftpd jetzt bei Dir funktioniert oder nicht.

Danke der Nachfrage
Also die gute Nachricht, dass der Daemon jetzt korrekt antwortet, wenn ein FTP-Request kommt. Deshalb herzlichen Dank. :)
Jedoch jetzt habe ich die nächste Baustelle, dass nach der Eingabe des Passwortes die Verbindung zurückgewiesen und unterbrochen wird. :mad:
Ich traute mich die Situation gar nicht zu schildern, denn ich erinnerte mich an die Probleme der Konfiguration von ProFtpD in meiner alten Linuxinstallation mit SuSE 9.0 vor etwa einem Jahr. Da habe ich auch mehrere Stunden/Tage verbraten, bis ich die Rechte den richtigen User, mit dem richtigen tool und in der richtigen Datei vergeben hatte und einige Forenmitglieder mit meinem Halbwissen genervt.
Irgendwie kriege ich es nicht auf die Reihe mit der Konfuguration über xinetd, den Anpassungen in vsftpd.conf und der Verwaltung von "Benutzern und Gruppen". Da scheint sich einiges gegenseitig zu bedingen bzw. aufzuheben. Das ganze Helpstudium , das ganze "googeln" und Forums-durchsuchen hilft mir bis jetzt nicht weiter.
Mir fehlt auch der sythematische Ansatz.
Sollte ich nochmals vsftp deinsatllieren und von vorne anfangen? :confused:

HXHannes
28.11.04, 12:59
Sag mal genau wie du das gemacht hast??
Beim Laden von ftp://localhost/ ist folgender Fehler aufgetreten:


Keine Verbindung zu Rechner localhost.

Grund: 500 OOPS: could not bind listening IPv4 socket

diese meldung kam erst nach einer zeit vorher ging es noch
ich kann auch keine dateien schreiben als es noch ging!

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
xferlog_file=/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=Welcome to EXS' FTP service.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd.banned_emails
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
#ls_recurse_enable=YES
pam_service_name=vsftpd
userlist_enable=YES
#enable for standalone mode
listen=YES
tcp_wrappers=YES

neo5K
29.11.04, 15:11
Hallo gerdum,


Jedoch jetzt habe ich die nächste Baustelle, dass nach der Eingabe des Passwortes die Verbindung zurückgewiesen und unterbrochen wird.
inwiefern äußert sich das von Dir genannte Problem? Wie Du schon schreibst, ist ein systematisches Vorgehen zur Lösung des Problems unumgänglich. Also wo genau "klemmt's" denn noch? Du kannst Dich mittlerweile korrekt mit dem FTP-Daemon via xinetd verbinden und das Programm antwortet und startet den Loginvorgang? Wie ist der weitere Verlauf?


Sollte ich nochmals vsftp deinsatllieren und von vorne anfangen?
Ich persönlich kann Dir nur raten, das Problem durch ausführliches Troubleshooting zu beheben; zumal Du nur so erkennst, wo genau der Fehler lag. Sollten "alle Stricke reißen", kannst Du noch immer eine Neuinstallation von vsftpd in Erwägung ziehen. Der FTP antwortet ja schon mal ohne Probleme, Du kannst Dich nur noch nicht einloggen. Deshalb nehme ich an, daß der Fehler in Deiner vsftpd-Konfiguration zu suchen ist. Du kannst die Einträge in Deiner Konfiguration mit der vsftpd-manpage (http://vsftpd.beasts.org/vsftpd_conf.html) vergleichen.

mfg,
neo5k

gerdum
29.11.04, 16:11
Hallo neo5K



Ich persönlich kann Dir nur raten, das Problem durch ausführliches Troubleshooting zu beheben;
neo5k

Geschafft, Dir und allen anderen Dankeschön ;)
Ursache war das chroot_list_file. War von mir mit falschem Namen erstellt worden: das "d" fehlte beim vsftpd.chroot_list . :rolleyes:
Herausgefunden habe ich es mit Hilfe eines etwas "geschwätzigerem" ftpclient auf einer anderen System.

Dieser thread kann jetzt aus meiner Sicht geschlossen werden.
Jetzt mache ich mich an meine eigentliche Aufgabe: Aufsetzen eines LAMP-Systems. Bin sicher wir hören/lesen uns bald wieder.

mfg
gerdum

fgru
17.02.07, 02:15
Hallo, vorsicht - ein Newbi :(

habe Ubuntu 6.10 am laufen mit vsftpd - funzt alles super - NUR: ein DL | UL vergibt lediglich 128kb - was muss ich einstellen um eine 16k Leitung auszureitzen ?

habe schon: local_max_rate=0 [ unbegrenzt ]

Apoll
17.02.07, 19:49
habe Ubuntu 6.10 am laufen mit vsftpd - funzt alles super - NUR: ein DL | UL vergibt lediglich 128kb - was muss ich einstellen um eine 16k Leitung auszureitzen ?


Vielleicht hab ich was falsch verstanden, aber: Falls du mit den 128kb auch Kilobit meinst, dann reizt du die Leitung bereits aus: 128 / 8 = 16 Kilobyte.