Vsftpd: Unterschied zwischen den Versionen

Aus Linupedia.org
Wechseln zu: Navigation, Suche
K (Quellen und Links: "Category" auf "Kategorie" geändert, weiteren Navi-Link und Kategorie eingefügt)
 
(15 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
{{Infobox_Software|
 +
Name=vsftpd
 +
|Screenshot=
 +
|Beschreibung=Very Secure FTP Daemon
 +
|Hersteller=
 +
|AktuelleVersion=2.0.5
 +
|AktuelleVersionFreigabeDatum= Juli 2006
 +
|Betriebssystem= Linux, OS X, Unix
 +
|Kategorie=[[File-Server]]
 +
|Lizenz=[http://de.wikipedia.org/wiki/GPL GPL]
 +
|Deutsch=nein
 +
|Website=http://vsftpd.beasts.org
 +
}}
 +
Autoren: [http://www.linux-club.de/faq/Benutzer:Yehudi Yehudi] und [http://www.linux-club.de/faq/Benutzer:TomcatMJ TomcatMJ]
 +
 +
{{Box Test||
 +
* [[openSUSE]] 10.2
 +
* SUSE Linux 10.0
 +
* SUSE Linux 9.3
 +
* SUSE Linux 9.2
 +
* SUSE Linux 9.1
 +
* SUSE Linux 9.0
 +
}}
 +
== Einführung ==
 +
 
Vsftpd ist ein sehr einfach zu konfigurierender FTP-Daemon. Er ist sowohl als Standalonedaemon als auch als per [[xinetd]] bzw. [[inetd]] ansteuerbar und kann sowohl per [[PAM]] als auch per [[LDAP]] oder [[NIS]] dem System bekannten Usern Zugang gewähren als auch Anonymous-FTP Zugang gewähren.  
 
Vsftpd ist ein sehr einfach zu konfigurierender FTP-Daemon. Er ist sowohl als Standalonedaemon als auch als per [[xinetd]] bzw. [[inetd]] ansteuerbar und kann sowohl per [[PAM]] als auch per [[LDAP]] oder [[NIS]] dem System bekannten Usern Zugang gewähren als auch Anonymous-FTP Zugang gewähren.  
Siehe dazu auch in den [[Vsftpd Musterkonfigurationen]].(TmocatMJ)
+
Siehe dazu auch in den [[Vsftpd Musterkonfigurationen]].
  
 
+
== Installation ==
Website: http://vsftpd.beasts.org/
 
  
 
'''Unter SuSE 10.X haben wir mehre Möglichkeiten der Installation: apt, smart, yast oder yum'''
 
'''Unter SuSE 10.X haben wir mehre Möglichkeiten der Installation: apt, smart, yast oder yum'''
  
Das Prinzip der Installation ist das selbe wie mit anderen Programmen, über einen der besagten Paketemanager. Darum verzichte ich darauf, dass hier auszuführen.
+
Das Prinzip der Installation ist dasgleiche wie mit anderen Programmen, über einen der besagten Paketmanager. Darum verzichte ich darauf, das hier auszuführen.
  
Da xinetd bei SuSE eigentlich Standard ist, um den dienst gleich mit Hochfahren des Rechenrs zu starten, führe ich das hier aus. Hierfür müssen einige Vorraussetzungen erfüllt sein, um den Dienst zu nutzen.
+
Da xinetd bei SuSE eigentlich Standard ist um den Dienst gleich mit Hochfahren des Rechners zu starten, führe ich das hier aus. Hierfür müssen einige Voraussetzungen erfüllt sein, um den Dienst zu nutzen.
  
 
1.xinetd muss gestartet sein
 
1.xinetd muss gestartet sein
 
2.In der Datei /etc/xinetd.d/vsftpd muss die Zeile disable entweder auf No stehen, oder nicht vorhanden sein.
 
2.In der Datei /etc/xinetd.d/vsftpd muss die Zeile disable entweder auf No stehen, oder nicht vorhanden sein.
3.In der Konfigurationsdatei /etc/vsftp.conf muss eine Zeile mit listen No enthalten sein, damit vermieden wird, dass vsftpd als Dämon gestartet wird.
+
3.In der Konfigurationsdatei /etc/vsftpd.conf muss eine Zeile mit listen=No enthalten sein, damit vermieden wird, dass vsftpd als Dämon gestartet wird.
 
4.Wie per default in den Files /etc/hosts.allow bzw. /etc/hosts.deny muss der FTP Zugang erlaubt sein.
 
4.Wie per default in den Files /etc/hosts.allow bzw. /etc/hosts.deny muss der FTP Zugang erlaubt sein.
  
Unter SuSE werden mit /etc/vsftpd.conf die Einstellungen vorgenommen. In der Default-Einstellung ist nur ein Lesezugang für Anonymos erlaubt.
+
Unter SuSE werden mit /etc/vsftpd.conf die Einstellungen vorgenommen. In der Default-Einstellung ist nur ein Lesezugang für Anonymous erlaubt.
  
Um Benutzern einen Login zu ermöglichen muss locale_enable auf YES stehen. Mit write_enable auf YES ist dann auch ein Upload möglich.
+
Um Benutzern einen Login zu ermöglichen, muss locale_enable auf YES stehen. Mit write_enable auf YES ist dann auch ein Upload möglich.
  
anonymous läßt sich mit anonymous_enable=NO ausschalten
+
Anonymous läßt sich mit anonymous_enable=NO ausschalten
  
Zwar läßt sich auch ein Upload für Anonymous durchführen, aber da das für illegalen Datenaustausch genutzt werden kann rate ich da jeden von ab. root ist als Benutzer aus Sicherheitsgründen vom FTP-Dienst ausgenommen.
+
Zwar läßt sich auch ein Upload für Anonymous durchführen, aber da das für illegalen Datenaustausch genutzt werden kann, rate ich jedem davon ab. Root ist als Benutzer aus Sicherheitsgründen vom FTP-Dienst ausgenommen.
  
Mit dem Login eines Benutzers kann der FTP-Client auf das homeverzeichnis des Linuxbenutzers ftp zugreifen. Bei SuSE ist es per default /srv/ftp/
+
Mit dem Login eines Benutzers kann der FTP-Client auf das Homeverzeichnis des Linuxbenutzers ftp zugreifen. Bei SuSE ist es per default /srv/ftp/
 
Das Verzeichnis ist in /etc/passwd aufgeführt.
 
Das Verzeichnis ist in /etc/passwd aufgeführt.
  
Bei SuSE wird zwar für den Login auf PAM zugegriffen, aber /etc/pam.d/vsftpd verweist allerdings auf /etc/ftpuser.  
+
Bei SuSE wird zwar für den Login auf PAM zugegriffen, aber /etc/pam.d/vsftpd verweist auf /etc/ftpuser.
  
Es gibt eine Masse an Seiten zu diesem FTP-Server, aber ich möchte hier gerne einige
+
== Konfigurationsparameter ==
Links posten, die mir geholfen haben(Links von cero und oc2pus):
 
  
* http://strcat.pebcak.de/eigenes/vsftp.html
+
'''allow_anon_ssl '''
* http://www.linuxfibel.de/ftp_srv.htm
+
'YES' oder 'NO'
* http://www.debiansec.com/linux/services/ftp.html
 
 
 
'''[size=18]Konfigurationsparameter[/size]'''
 
 
 
'''allow_anon_ssl '''
 
'YES' oder 'NO'
 
 
Hiermit kann man fuer Anonymous SSL aktivieren. Das funktioniert aber nur, wenn ssl_enable aktiviert ist. Default ist hier 'NO'.
 
Hiermit kann man fuer Anonymous SSL aktivieren. Das funktioniert aber nur, wenn ssl_enable aktiviert ist. Default ist hier 'NO'.
  
'''ascii_download_enable'''
+
'''ascii_download_enable'''
 
  'YES' oder 'NO
 
  'YES' oder 'NO
 
Hier werden die Daten entweder im ASCII- oder im Binary - Mode runtergeladen. 'YES' steht fuer ASCII und 'NO' fuer Binary.
 
Hier werden die Daten entweder im ASCII- oder im Binary - Mode runtergeladen. 'YES' steht fuer ASCII und 'NO' fuer Binary.
  
'''anon_umask '''
+
'''anon_umask '''
 
  'YES' oder 'NO'
 
  'YES' oder 'NO'
Der Wert, der das umask für die Datei Creation auf für anonyme Benutzer eingestellt.  
+
Der Wert, der das umask für die Dateianage auf für anonyme Benutzer eingestellt.  
  
'''ascii_upload_enable'''
+
'''ascii_upload_enable'''
'YES' oder 'NO'
+
'YES' oder 'NO'
Siehe ascii_download_enable, nur diesmal fuer den Upload.
+
Siehe ascii_download_enable, nur diesmal für den Upload.
  
'''
+
'''anon_mkdir_write_enable'''
anon_mkdir_write_enable'''
+
'YES' oder 'NO'
'YES' oder 'NO'
+
Wenn es auf  Yes steht, haben anonyme Benutzer die Erlaubnis, um neue Verzeichnisse unter bestimmten Bedingungen zu erstellen. Damit diese Option funktioniert, muss write_enable aktiviert werden, und  der Anonymous FTPbenutzer muss die  Erlaubnis haben auf das Elternteilverzeichnis zu schreiben.
Wenn es auf  Yes steht, haben anonyme Benutzer die Erlaubnis, um neue Verzeichnisse unter bestimmten Bedingungen zu erstellen. Damit dieses, die Option arbeitet, muss write_enable aktiviert werden, und  der Anonymous FTPbenutzer muss die  Erlaubnis haben auf das Elternteilverzeichnis zu schreiben.
 
  
'''
+
'''anon_other_write_enable  '''                   
anon_other_write_enable  '''                   
+
'YES' oder 'NO'
'YES' oder 'NO'
+
Wenn es auf  Yes steht, haben anonyme Benutzer die Erlaubnis, um  ein Verzeichnis zu erstellen, Löschung und Umbennenung zu tätigen. Von dieser Möglichkeit ist dringend abzuraten, sie wird nur der Vollständigkeit halber aufgeführt.  
Wenn es auf  Yes steht, haben anonyme Benutzer die Erlaubnis, um  Verzeichnis zu erstellen, Auslassung und Umbennenung zu tätigen. Von dieser Möglichkeit ist dringend abzuraten, sie wird nur der Vollständigkeit halber aufgeführt.  
 
  
'''anon_upload_enable '''
+
'''anon_upload_enable '''
'YES' oder 'NO'
+
'YES' oder 'NO'
Hier wird Anonymous erlaubt Dateien hochzuladen. Damit das aber funktioniert, muss write_enable ebenfalls auf 'YES' sein und die Schreibrechte für das Verzeichniss müssen bereits gegeben sein.
+
Hier wird Anonymous erlaubt Dateien hochzuladen. Damit das aber funktioniert, muss write_enable ebenfalls auf 'YES' stehen und die Schreibrechte für das Verzeichniss müssen bereits gegeben sein.
  
'''anon_world_readable_only'''
+
'''anon_world_readable_only'''
'YES' oder 'NO'
+
'YES' oder 'NO'
 
Hier ist Anonymous nur der Download erlaubt.
 
Hier ist Anonymous nur der Download erlaubt.
  
'''anonymous_enable'''
+
'''anonymous_enable'''
'YES' oder 'NO'
+
'YES' oder 'NO'
Diese Option regelt ob Anonymous sich ueberhaupt einloggen darf.
+
Diese Option regelt, ob Anonymous sich ueberhaupt einloggen darf.
  
'''async_abor_enable'''
+
'''async_abor_enable'''
'YES' oder 'NO'
+
'YES' oder 'NO'
 
Wenn dieser Wert auf 'YES' gesetzt wird, steht async ABOR zur Verfuegung. Dazu sollte man aber erst RFC2428 lesen. http://www.rfc-editor.org/rfc/rfc2428.txt
 
Wenn dieser Wert auf 'YES' gesetzt wird, steht async ABOR zur Verfuegung. Dazu sollte man aber erst RFC2428 lesen. http://www.rfc-editor.org/rfc/rfc2428.txt
  
'''background''' 'YES' oder 'NO'
+
'''background'''
 +
'YES' oder 'NO'
 
Wenn diese Option auf 'YES' steht, wird vsftpd im Hintergrund gestartet.
 
Wenn diese Option auf 'YES' steht, wird vsftpd im Hintergrund gestartet.
  
'''banned_email_file'''  
+
'''banned_email_file'''  
definiert werden kann
+
'Dateiname'
 +
In diesem File kann eine emailbasierte Ban-Liste definiert werden(Emailadressen sind meist Standard-Passworte für Anonymous-FTP Zugriff in diversen FTP-Clients)
  
'''check_shell '''
+
'''check_shell '''
'YES' oder 'NO'
+
'YES' oder 'NO'
Diese Option steht nur ohne PAM zur Verfuegung. Wenn 'NO' gesetzt ist, dann ueberprueft vsftpd die /etc/shells nicht nach einer korrekten Shell oder Useraccount.
+
Diese Option steht nur ohne PAM zur Verfuegung. Wenn 'NO' gesetzt ist, dann ueberprüft vsftpd die /etc/shells nicht nach einer korrekten Shell oder Useraccount.
  
'''chmod_enable '''
+
'''chmod_enable '''
'YES' oder 'NO'
+
'YES' oder 'NO'
 
Damit wird die Anwendung von SITE CHMOD erlaubt!
 
Damit wird die Anwendung von SITE CHMOD erlaubt!
  
'''chown_uploads '''
+
'''chown_uploads '''
'YES' oder 'NO'
+
'YES' oder 'NO'
 
Wenn 'YES' gesetzt ist, werden alle "anonym" hochgeladenen Dateien in den bei chown_username angegebenen Username ge'chown't.
 
Wenn 'YES' gesetzt ist, werden alle "anonym" hochgeladenen Dateien in den bei chown_username angegebenen Username ge'chown't.
  
 +
'''chroot_local_user'''
 +
'YES' oder 'NO'
 +
Wenn es auf  Yes steht, werden die User mit einem lokale Account  in einer chroot () Einschränkung in ihrem Hauptverzeichnis nach LOGON begrenzt.
 +
 +
'''connect_from_port_20'''
 +
'YES' oder 'NO'
 +
Dieses steuert, ob FTP Datenverbindungen Port20 (Ftpdaten) auf der Bedienermaschine verwenden. Aus Sicherheit Gründen können einige Klienten beharren, daß dieses der Fall ist. Andererseits ermöglicht die Sperrung dieser Wahl vsftpd, mit weniger Privilegien etwas sicherer nur im passive-FTP Mode zu laufen.
 +
 +
'''deny_email_enable'''
 +
'YES' oder 'NO'
 +
Hier wird geregelt ob bestimmte Email - Adressen verboten werden sollen. Die Adressen werden in einer externen Datei (der Ban-Liste aus der Option oben) gesucht, die mit
  
'''chroot_local_user'''
+
'''dirlist_enable'''
 
  'YES' oder 'NO'
 
  'YES' oder 'NO'
Wenn es auf Yes steht, werden die User mit einem lokale Account  in einer chroot () Einschränkung in ihrem Hauptverzeichnis nach LOGON begrenzt.  
+
auf Ban-Liste(bei NO), oder Allow-Liste(bei YES) gesetzt werden kann.
'''
+
 
connect_from_port_20'''
+
'''download_enable'''
 
  'YES' oder 'NO'
 
  'YES' oder 'NO'
Dieses steuert, ob PORTartDatenverbindungen Port20 (Ftpdaten) auf der Bedienermaschine verwenden. Aus Sicherheit Gründen können einige Klienten beharren, daß dieses der Fall ist. Andererseits ermöglicht die Sperrung dieser Wahl vsftpd, mit weniger Privileg etwas zu laufen.  
+
Wenn diese Option auf NO steht darf nichts heruntergeladen werden, Downloads sind dann unmöglich.
  
'''deny_email_enable'''  
+
'''guest_enable'''
'YES' oder 'NO'
+
'YES' oder 'NO'
Hier wird geregelt ob bestimmte Email - Adressen verboten werden sollen. Die Adressen werden in einer externen Datei gesucht, die mit  
+
Wenn diese Option auf YES steht ist erweiterter Anonymous-FTP möglich. Der nicht wirklich anonyme Gastzugang mit normaler Nutzerkennung wird dann auf den entsprechenden User aus der guest_username Option umgesetzt.
  
'''
+
'''guest_username'''
dirlist_enable'''
+
Diese Einstellung beinhaltet den realen Usernamen zu dem Gastbenutzer umgesetzt werden.
'YES' oder 'NO'
 
If set to NO, all directory list commands will give permission denied.
 
'''
 
download_enable'''
 
'YES' oder 'NO'
 
If set to NO, all download requests will give permission denied.
 
'''
 
guest_enable'''
 
'YES' oder 'NO'
 
If enabled, all non-anonymous logins are classed as "guest" logins. A guest login is remapped to the user specified in the guest_username setting.
 
  
'''guest_username'''
+
'''hide_ids'''
This setting is the real username which guest users are mapped to.
+
'YES' oder 'NO'
 +
Mit dieser Option werden alle Nutzerinformationen nach außen als "ftp" deklariert.
  
'''hide_ids'''
+
'''listen'''
'YES' oder 'NO'
+
'YES' oder 'NO'
If enabled, all user and group information in directory listings will be displayed as "ftp".
+
Wenn diese Option gesetzt ist (also auf YES steht) läuft vstfpd im standalone Mode ohen inetd/xinetd. Er hört dann auf jede im System bekannte IP-Adresse. Es sei denn, man konfiguriert eine einzelne default listen address wodurch die Einstellung auf alle Adressen zu hören übergangen würde.
'''
 
listen'''
 
'YES' oder 'NO'
 
If enabled, vsftpd will run in standalone mode. This means that vsftpd must not be run from an inetd of some kind. Instead, the vsftpd executable is run once directly. vsftpd itself will then take care of listening for and handling incoming connections.
 
listen_address
 
If vsftpd is in standalone mode, the default listen address (of all local interfaces) may be overridden by this setting. Provide a numeric IP address.
 
  
'''local_enable'''
+
'''local_enable'''
'YES' oder 'NO'
+
'YES' oder 'NO'
Controls whether local logins are permitted or not. If enabled, normal user accounts in /etc/passwd may be used to log in.
+
Mit dieser Option können, sofern per YES aktiviert, normale Systemuser sich mit ihren Usernamen und Passwörtern wie sie in /etc/passwd + /etc/shadow bekannt sind einloggen.
  
'''local_root'''
+
'''local_root'''
This option represents a directory which vsftpd will try to change into after a local (i.e. non-anonymous) login. Failure is silently ignored.
+
Diese Option legt ein Verzeichnis fest, in das vsftpd zu wechseln versucht sobald ein nicht-anonymer Benutzer einloggt. Fehler(z.B. bei nicht vorhandenem Verzeichnis) werden stillschweigend ignoriert.  
local_umask
 
  
'''log_ftp_protocol'''
+
'''log_ftp_protocol'''
 
  'YES' oder 'NO'
 
  'YES' oder 'NO'
 +
Mit dieser Option wird festgelegt, ob alle(!) FTP-Zugriffe in en Logfiles/dem Logfile protokolliert werden.
  
'''ls_recurse_enable'''
+
'''ls_recurse_enable'''
 
  'YES' oder 'NO'
 
  'YES' oder 'NO'
The value that the umask for file creation is set to for local users.
+
Man kann hier einstellen, ob ein ls automatisch auch rekursiv gelten soll oder nicht. Standardmäßig ist diese Option deaktiviert um extreme I/O Lasten zu vermeiden die durch exzessive Nutzung des FTP-Servers aufkommen könnten. Manche Clientprogramme benötigen diese Option jedoch.
Mit dieser Option ist es moeglich das erweiterte Logformat zu aktivieren; hier werden dann *alle* Aktivitaeten geloggt!
 
Hiermit kann man die Ausfuehrung von "ls -R" verbieten oder erlauben.
 
'''
 
max_clients'''
 
If vsftpd is in standalone mode, this is the maximum number of clients which may be connected. Any additional clients connecting will get an error message.
 
  
'''max_per_ip'''
+
'''max_clients'''
If vsftpd is in standalone mode, this is the maximum number of clients which may be connected from the same source internet address. A client will get an error message if they go over this limit.
+
Falls vsftpd im standalone-Modus betrieben wird, kann hier die Anzahl der zeitgleich zugreifenden Clients begrenzt werden. Jeder weitere Client der dann über die Begrenzung hinaus zugreifen will erhält eine Fehlermeldung.
  
'''
+
'''max_per_ip'''
no_anon_password'''
+
Mit dieser Option kann die Anzahl der Maximalen geöffneten Verbindungen pro Client festgelegt werden wenn vsftpd im standalone Mode betrieben wird. Jeder Verbindungsversuch eines Clients der mehr als die hier festgelegten maximalen Verbindungen öfnen will wird mit einer Fehlermeldung quittiert.
 +
 
 +
'''no_anon_password'''
 
  'YES' oder 'NO
 
  'YES' oder 'NO
Hier wird die Passwortabfragen deaktivieren. Mit 'YES', werden anonyme User sofort eingeloggt, wenn sie den entsprechenden Usernamen fuer Anonymous angeben.
+
Hier wird die Passwortabfragen deaktivieren. Mit 'YES', werden anonyme User sofort eingeloggt, wenn sie den entsprechenden Usernamen fuer Anonymous angeben.(Im Normalfall "anonymous" mit einer Emailadresse als Passwort)
'''
+
 
no_log_lock'''
+
'''no_log_lock'''
 
  'YES' oder 'NO'
 
  'YES' oder 'NO'
 
Hiermit kann man verhindern das vsftpd ein Lockfile erstellt, wenn ein Logfile angelegt wird. Default ist 'NO'
 
Hiermit kann man verhindern das vsftpd ein Lockfile erstellt, wenn ein Logfile angelegt wird. Default ist 'NO'
'''nopriv_user'''
 
This is the name of the user that is used by vsftpd when it want to be totally unprivileged. Note that this should be a dedicated user, rather than nobody. The user nobody tends to be used for rather a lot of important things on most machines.
 
  
'''one_process_model'''
+
'''nopriv_user'''
'YES'; oder 'NO'
+
Die Benutzerkennung unter der vsftpd auf dem System laufen soll, man sollte einen eigenen User dafür anlegen/nutzen, nicht nobody, da nobody doch für einige relevante Vorgänge genutzt wird und vsftpd sonst mit dessen Rechten laufen würde.
 +
 
 +
'''one_process_model'''
 +
'YES'; oder 'NO'
 
Ist diese Option aktiviert, ist es möglich ein anderes Sicherheitsmodell basierend auf einem Prozess pro Verbindung zu nutzen.
 
Ist diese Option aktiviert, ist es möglich ein anderes Sicherheitsmodell basierend auf einem Prozess pro Verbindung zu nutzen.
'''
 
pam_service_name'''
 
This string is the name of the PAM service vsftpd will use.
 
  
'''passwd_chroot_enable'''
+
'''pam_service_name'''
'YES' oder 'NO'
+
Der Name des PAM-unterdienstes den vsftpd nutzen soll(relevant für die PAM-Konfiguration).
 +
 
 +
'''passwd_chroot_enable'''
 +
'YES' oder 'NO'
 
Wenn 'YES' gesetzt ist, dann wird als chroot() das Verzeichnis der /etc/passwd verwendet.
 
Wenn 'YES' gesetzt ist, dann wird als chroot() das Verzeichnis der /etc/passwd verwendet.
'''
+
 
pasv_enable'''
+
'''pasv_enable'''
'YES' oder 'NO'
+
'YES' oder 'NO'
 
Hier kann PASV erlaubt oder verboten werden.
 
Hier kann PASV erlaubt oder verboten werden.
'''
+
 
pasv_max_port'''
+
'''pasv_max_port'''
 
Die maximalen zuzuteilenden Ports für PASV Daten Anschluss. Kann verwendet werden, um eine schmale Portstrecke zu spezifizieren, beim Firewalling zu unterstützen.
 
Die maximalen zuzuteilenden Ports für PASV Daten Anschluss. Kann verwendet werden, um eine schmale Portstrecke zu spezifizieren, beim Firewalling zu unterstützen.
'''
+
 
pasv_min_port'''
+
'''pasv_min_port'''
 
Das Minimum der zuzuteilenden Ports für PASV Daten Anschluss. Kann verwendet werden, um eine schmale Portstrecke zu spezifizieren, beim Firewalling zu unterstützen.
 
Das Minimum der zuzuteilenden Ports für PASV Daten Anschluss. Kann verwendet werden, um eine schmale Portstrecke zu spezifizieren, beim Firewalling zu unterstützen.
'''
+
 
pasv_promiscuous'''
+
'''pasv_promiscuous'''
'YES' oder 'NO'
+
'YES' oder 'NO'
 
Hier kann man den Sicherheitscheck von PASV verbieten oder erlauben.
 
Hier kann man den Sicherheitscheck von PASV verbieten oder erlauben.
'''
+
 
port_enable'''
+
'''port_enable'''
'YES' oder 'NO'
+
'YES' oder 'NO'
 
Hier kann man das PORT - Kommando erlauben bzw. verbieten.
 
Hier kann man das PORT - Kommando erlauben bzw. verbieten.
 
Siehe pasv_promiscuous.  
 
Siehe pasv_promiscuous.  
  
'''port_promiscuous'''
+
'''port_promiscuous'''
 
  'YES' oder 'NO'
 
  'YES' oder 'NO'
 
Diesen Parameter kann man auf 'YES' setzen, wenn man eine bestimmte Liste mit Emails definieren will, fuer die ein Anonymous-Login erlaubt werden soll
 
Diesen Parameter kann man auf 'YES' setzen, wenn man eine bestimmte Liste mit Emails definieren will, fuer die ein Anonymous-Login erlaubt werden soll
  
'''secure_email_list_enable'''
+
'''secure_email_list_enable'''
 
  'YES' oder 'NO'
 
  'YES' oder 'NO'
 
Anonymous-Login erlaubt werden soll. Gelesen wird hierbei die unter email_password_file angegebene Liste. Das Format ist denkbar einfach. Ein Passwort pro Zeile.
 
Anonymous-Login erlaubt werden soll. Gelesen wird hierbei die unter email_password_file angegebene Liste. Das Format ist denkbar einfach. Ein Passwort pro Zeile.
'''
+
 
session_support '''
+
'''session_support '''
'YES' oder 'NO'
+
'YES' oder 'NO'
 
Hiermit versucht vsftpd die Sessions der Logins beizubehalten. Sobald dieser Wert auf 'YES' gesetzt ist, versucht vsftpd die utmp und wtmp upzudaten, indem er eine PAM-Session oeffnet. Per Default ist dieser Wert auf 'NO'.
 
Hiermit versucht vsftpd die Sessions der Logins beizubehalten. Sobald dieser Wert auf 'YES' gesetzt ist, versucht vsftpd die utmp und wtmp upzudaten, indem er eine PAM-Session oeffnet. Per Default ist dieser Wert auf 'NO'.
  
'''setproctitle_enable'''
+
'''setproctitle_enable'''
'YES' oder 'NO'
+
'YES' oder 'NO'
 
Hier kann man angeben ob der Status aktiver Verbindungen bei "ps" auftauchen soll.
 
Hier kann man angeben ob der Status aktiver Verbindungen bei "ps" auftauchen soll.
  
'''use_localtime'''
+
'''use_localtime'''
If enabled, vsftpd will display directory listings with the the time in your local time zone. The default is to display GMT. The times returned by the MDTM FTP command are also affected by this option.
+
Zeitzoneneinstellung für vsftpd. Standard ist GMT, der  MDTM FTP Befehl ist von dieser Option ebenso betroffen.
'''
+
 
user_config_dir'''
+
'''user_config_dir'''
 
Hier kann eine benutzerspezifische Konfigurationsdatei angegeben werden. Das ist vor allem interessant, wenn man VHosts verwalten soll / muss. Bsp.:
 
Hier kann eine benutzerspezifische Konfigurationsdatei angegeben werden. Das ist vor allem interessant, wenn man VHosts verwalten soll / muss. Bsp.:
user_config_dir=/etc/vsftpd_user1
+
  user_config_dir=/etc/vsftpd_user1
 
   $ mkdir /etc/vsftpd_user1
 
   $ mkdir /etc/vsftpd_user1
Anschlieszend muessen noch Leserechte auf das Verzeichnis gegeben werden und das wars.
+
Anschließend muessen noch Leserechte auf das Verzeichnis gegeben werden und das wars.
'''
+
 
userlist_enable'''
+
'''userlist_enable'''
If enabled, vsftpd will load a list of usernames, from the filename given by userlist_file. If a user tries to log in using a name in this file, they will be denied before they are asked for a password. This may be useful in preventing cleartext passwords being transmitted.
+
Wenn diese Option genutzt wird lädt vsftpd eine Benutzerliste aus der unter userlist_file vermerkten Datei. Jeder Benutzername aus dieser Datei wird als unzulässig abgewiesen. Dies kann nützlich sein um Klartextpasswortübermittlungen über das Netz zu vermeiden.
'''
+
 
userlist_file'''
+
'''userlist_file'''
 
Hier wird das Name der Datei angegeben, die geladen werden soll wenn man userlist_enable aktiviert hat. Per Default wird /etc/vsftpd.user_list verwendet.
 
Hier wird das Name der Datei angegeben, die geladen werden soll wenn man userlist_enable aktiviert hat. Per Default wird /etc/vsftpd.user_list verwendet.
'''
+
 
virtual_use_local_privs'''
+
'''virtual_use_local_privs'''
If enabled, virtual users will use the same privileges as local users. By default, virtual users will use the same privileges as anonymous users, which tends to be more restrictive (especially in terms of write access).
+
Wenn diese Option genutzt wird erhalten virtuelle Nutzer dieselben rechte wie lokale Nutzer. Standradmäßig erhlten virtuelle Nutzer nur die Rechte der anonymen Nutzer die normalerweise eingeschränkter als die der normalen Nutzer sind(speziell im Falle von Schreiboperationen).
'''
+
 
write_enable'''
+
'''write_enable'''
This controls whether any FTP commands which change the filesystem are allowed or not. These commands are: STOR, DELE, RNFR, RNTO, MKD, RMD, APPE and SITE.
+
Damit werden die FTP-Befehle die das Dateisystem verändern können erlaubt oder verboten. Diese Befehle sind: STOR, DELE, RNFR, RNTO, MKD, RMD, APPE und SITE.
'''
+
 
xferlog_enable'''
+
'''xferlog_enable'''
 
Hier wird die Logdatei fuer XFerlog definiert. Default ist /var/log/xferlog
 
Hier wird die Logdatei fuer XFerlog definiert. Default ist /var/log/xferlog
  
Das ist der erste Entwurf, und wird noch geändert, übersetzt, und erweitert, und beruht auf die oben angegebenen Links.
 
  
--[[Benutzer:Yehudi|Yehudi]] 08:06, 16. Aug 2006 (CEST)
+
== Quellen und Links ==
 +
 
 +
Es gibt eine Masse an Seiten zu diesem FTP-Server, aber ich möchte hier gerne einige
 +
Links posten, die mir geholfen haben(Links von cero und oc2pus):
 +
 
 +
* http://strcat.pebcak.de/eigenes/vsftp.html
 +
* http://www.linuxfibel.de/ftp_srv.htm
 +
* http://www.debiansec.com/linux/services/ftp.html
 +
 
 +
-------
 +
[[File-Server|zurück zur File-Server Übersicht]]
 +
 
 +
[[FTP|zurück zur FTP Übersicht]]
 +
 
 +
[[Kategorie:File Server]]
 +
[[Kategorie:FTP]]

Aktuelle Version vom 28. November 2013, 20:48 Uhr

vsftpd

Very Secure FTP Daemon
Basisdaten
Entwickler:
Aktuelle Version: 2.0.5
letzte Veröffentlichung: Juli 2006
Betriebssystem: Linux, OS X, Unix
Kategorie: File-Server
Lizenz: GPL
Deutschsprachig: nein
Webseite: http://vsftpd.beasts.org

Autoren: Yehudi und TomcatMJ

Diese Beschreibung wurde mit folgenden Distributionen getestet:
  • openSUSE 10.2
  • SUSE Linux 10.0
  • SUSE Linux 9.3
  • SUSE Linux 9.2
  • SUSE Linux 9.1
  • SUSE Linux 9.0

Einführung

Vsftpd ist ein sehr einfach zu konfigurierender FTP-Daemon. Er ist sowohl als Standalonedaemon als auch als per xinetd bzw. inetd ansteuerbar und kann sowohl per PAM als auch per LDAP oder NIS dem System bekannten Usern Zugang gewähren als auch Anonymous-FTP Zugang gewähren. Siehe dazu auch in den Vsftpd Musterkonfigurationen.

Installation

Unter SuSE 10.X haben wir mehre Möglichkeiten der Installation: apt, smart, yast oder yum

Das Prinzip der Installation ist dasgleiche wie mit anderen Programmen, über einen der besagten Paketmanager. Darum verzichte ich darauf, das hier auszuführen.

Da xinetd bei SuSE eigentlich Standard ist um den Dienst gleich mit Hochfahren des Rechners zu starten, führe ich das hier aus. Hierfür müssen einige Voraussetzungen erfüllt sein, um den Dienst zu nutzen.

1.xinetd muss gestartet sein 2.In der Datei /etc/xinetd.d/vsftpd muss die Zeile disable entweder auf No stehen, oder nicht vorhanden sein. 3.In der Konfigurationsdatei /etc/vsftpd.conf muss eine Zeile mit listen=No enthalten sein, damit vermieden wird, dass vsftpd als Dämon gestartet wird. 4.Wie per default in den Files /etc/hosts.allow bzw. /etc/hosts.deny muss der FTP Zugang erlaubt sein.

Unter SuSE werden mit /etc/vsftpd.conf die Einstellungen vorgenommen. In der Default-Einstellung ist nur ein Lesezugang für Anonymous erlaubt.

Um Benutzern einen Login zu ermöglichen, muss locale_enable auf YES stehen. Mit write_enable auf YES ist dann auch ein Upload möglich.

Anonymous läßt sich mit anonymous_enable=NO ausschalten

Zwar läßt sich auch ein Upload für Anonymous durchführen, aber da das für illegalen Datenaustausch genutzt werden kann, rate ich jedem davon ab. Root ist als Benutzer aus Sicherheitsgründen vom FTP-Dienst ausgenommen.

Mit dem Login eines Benutzers kann der FTP-Client auf das Homeverzeichnis des Linuxbenutzers ftp zugreifen. Bei SuSE ist es per default /srv/ftp/ Das Verzeichnis ist in /etc/passwd aufgeführt.

Bei SuSE wird zwar für den Login auf PAM zugegriffen, aber /etc/pam.d/vsftpd verweist auf /etc/ftpuser.

Konfigurationsparameter

allow_anon_ssl 
'YES' oder 'NO'

Hiermit kann man fuer Anonymous SSL aktivieren. Das funktioniert aber nur, wenn ssl_enable aktiviert ist. Default ist hier 'NO'.

ascii_download_enable
'YES' oder 'NO

Hier werden die Daten entweder im ASCII- oder im Binary - Mode runtergeladen. 'YES' steht fuer ASCII und 'NO' fuer Binary.

anon_umask 
'YES' oder 'NO'

Der Wert, der das umask für die Dateianage auf für anonyme Benutzer eingestellt.

ascii_upload_enable
'YES' oder 'NO'

Siehe ascii_download_enable, nur diesmal für den Upload.

anon_mkdir_write_enable
'YES' oder 'NO'

Wenn es auf Yes steht, haben anonyme Benutzer die Erlaubnis, um neue Verzeichnisse unter bestimmten Bedingungen zu erstellen. Damit diese Option funktioniert, muss write_enable aktiviert werden, und der Anonymous FTPbenutzer muss die Erlaubnis haben auf das Elternteilverzeichnis zu schreiben.

anon_other_write_enable                    
'YES' oder 'NO'

Wenn es auf Yes steht, haben anonyme Benutzer die Erlaubnis, um ein Verzeichnis zu erstellen, Löschung und Umbennenung zu tätigen. Von dieser Möglichkeit ist dringend abzuraten, sie wird nur der Vollständigkeit halber aufgeführt.

anon_upload_enable 
'YES' oder 'NO'

Hier wird Anonymous erlaubt Dateien hochzuladen. Damit das aber funktioniert, muss write_enable ebenfalls auf 'YES' stehen und die Schreibrechte für das Verzeichniss müssen bereits gegeben sein.

anon_world_readable_only
'YES' oder 'NO'

Hier ist Anonymous nur der Download erlaubt.

anonymous_enable
'YES' oder 'NO'

Diese Option regelt, ob Anonymous sich ueberhaupt einloggen darf.

async_abor_enable
'YES' oder 'NO'

Wenn dieser Wert auf 'YES' gesetzt wird, steht async ABOR zur Verfuegung. Dazu sollte man aber erst RFC2428 lesen. http://www.rfc-editor.org/rfc/rfc2428.txt

background
'YES' oder 'NO'

Wenn diese Option auf 'YES' steht, wird vsftpd im Hintergrund gestartet.

banned_email_file 
'Dateiname'

In diesem File kann eine emailbasierte Ban-Liste definiert werden(Emailadressen sind meist Standard-Passworte für Anonymous-FTP Zugriff in diversen FTP-Clients)

check_shell 
'YES' oder 'NO'

Diese Option steht nur ohne PAM zur Verfuegung. Wenn 'NO' gesetzt ist, dann ueberprüft vsftpd die /etc/shells nicht nach einer korrekten Shell oder Useraccount.

chmod_enable 
'YES' oder 'NO'

Damit wird die Anwendung von SITE CHMOD erlaubt!

chown_uploads 
'YES' oder 'NO'

Wenn 'YES' gesetzt ist, werden alle "anonym" hochgeladenen Dateien in den bei chown_username angegebenen Username ge'chown't.

chroot_local_user
'YES' oder 'NO'

Wenn es auf Yes steht, werden die User mit einem lokale Account in einer chroot () Einschränkung in ihrem Hauptverzeichnis nach LOGON begrenzt.

connect_from_port_20
'YES' oder 'NO'

Dieses steuert, ob FTP Datenverbindungen Port20 (Ftpdaten) auf der Bedienermaschine verwenden. Aus Sicherheit Gründen können einige Klienten beharren, daß dieses der Fall ist. Andererseits ermöglicht die Sperrung dieser Wahl vsftpd, mit weniger Privilegien etwas sicherer nur im passive-FTP Mode zu laufen.

deny_email_enable 
'YES' oder 'NO'

Hier wird geregelt ob bestimmte Email - Adressen verboten werden sollen. Die Adressen werden in einer externen Datei (der Ban-Liste aus der Option oben) gesucht, die mit

dirlist_enable
'YES' oder 'NO'

auf Ban-Liste(bei NO), oder Allow-Liste(bei YES) gesetzt werden kann.

download_enable
'YES' oder 'NO'

Wenn diese Option auf NO steht darf nichts heruntergeladen werden, Downloads sind dann unmöglich.

guest_enable
'YES' oder 'NO'

Wenn diese Option auf YES steht ist erweiterter Anonymous-FTP möglich. Der nicht wirklich anonyme Gastzugang mit normaler Nutzerkennung wird dann auf den entsprechenden User aus der guest_username Option umgesetzt.

guest_username

Diese Einstellung beinhaltet den realen Usernamen zu dem Gastbenutzer umgesetzt werden.

hide_ids
'YES' oder 'NO'

Mit dieser Option werden alle Nutzerinformationen nach außen als "ftp" deklariert.

listen
'YES' oder 'NO'

Wenn diese Option gesetzt ist (also auf YES steht) läuft vstfpd im standalone Mode ohen inetd/xinetd. Er hört dann auf jede im System bekannte IP-Adresse. Es sei denn, man konfiguriert eine einzelne default listen address wodurch die Einstellung auf alle Adressen zu hören übergangen würde.

local_enable
'YES' oder 'NO'

Mit dieser Option können, sofern per YES aktiviert, normale Systemuser sich mit ihren Usernamen und Passwörtern wie sie in /etc/passwd + /etc/shadow bekannt sind einloggen.

local_root

Diese Option legt ein Verzeichnis fest, in das vsftpd zu wechseln versucht sobald ein nicht-anonymer Benutzer einloggt. Fehler(z.B. bei nicht vorhandenem Verzeichnis) werden stillschweigend ignoriert.

log_ftp_protocol
'YES' oder 'NO'

Mit dieser Option wird festgelegt, ob alle(!) FTP-Zugriffe in en Logfiles/dem Logfile protokolliert werden.

ls_recurse_enable
'YES' oder 'NO'

Man kann hier einstellen, ob ein ls automatisch auch rekursiv gelten soll oder nicht. Standardmäßig ist diese Option deaktiviert um extreme I/O Lasten zu vermeiden die durch exzessive Nutzung des FTP-Servers aufkommen könnten. Manche Clientprogramme benötigen diese Option jedoch.

max_clients

Falls vsftpd im standalone-Modus betrieben wird, kann hier die Anzahl der zeitgleich zugreifenden Clients begrenzt werden. Jeder weitere Client der dann über die Begrenzung hinaus zugreifen will erhält eine Fehlermeldung.

max_per_ip

Mit dieser Option kann die Anzahl der Maximalen geöffneten Verbindungen pro Client festgelegt werden wenn vsftpd im standalone Mode betrieben wird. Jeder Verbindungsversuch eines Clients der mehr als die hier festgelegten maximalen Verbindungen öfnen will wird mit einer Fehlermeldung quittiert.

no_anon_password
'YES' oder 'NO

Hier wird die Passwortabfragen deaktivieren. Mit 'YES', werden anonyme User sofort eingeloggt, wenn sie den entsprechenden Usernamen fuer Anonymous angeben.(Im Normalfall "anonymous" mit einer Emailadresse als Passwort)

no_log_lock
'YES' oder 'NO'

Hiermit kann man verhindern das vsftpd ein Lockfile erstellt, wenn ein Logfile angelegt wird. Default ist 'NO'

nopriv_user

Die Benutzerkennung unter der vsftpd auf dem System laufen soll, man sollte einen eigenen User dafür anlegen/nutzen, nicht nobody, da nobody doch für einige relevante Vorgänge genutzt wird und vsftpd sonst mit dessen Rechten laufen würde.

one_process_model
'YES'; oder 'NO'

Ist diese Option aktiviert, ist es möglich ein anderes Sicherheitsmodell basierend auf einem Prozess pro Verbindung zu nutzen.

pam_service_name

Der Name des PAM-unterdienstes den vsftpd nutzen soll(relevant für die PAM-Konfiguration).

passwd_chroot_enable
'YES' oder 'NO'

Wenn 'YES' gesetzt ist, dann wird als chroot() das Verzeichnis der /etc/passwd verwendet.

pasv_enable
'YES' oder 'NO'

Hier kann PASV erlaubt oder verboten werden.

pasv_max_port

Die maximalen zuzuteilenden Ports für PASV Daten Anschluss. Kann verwendet werden, um eine schmale Portstrecke zu spezifizieren, beim Firewalling zu unterstützen.

pasv_min_port

Das Minimum der zuzuteilenden Ports für PASV Daten Anschluss. Kann verwendet werden, um eine schmale Portstrecke zu spezifizieren, beim Firewalling zu unterstützen.

pasv_promiscuous
'YES' oder 'NO'

Hier kann man den Sicherheitscheck von PASV verbieten oder erlauben.

port_enable
'YES' oder 'NO'

Hier kann man das PORT - Kommando erlauben bzw. verbieten. Siehe pasv_promiscuous.

port_promiscuous
'YES' oder 'NO'

Diesen Parameter kann man auf 'YES' setzen, wenn man eine bestimmte Liste mit Emails definieren will, fuer die ein Anonymous-Login erlaubt werden soll

secure_email_list_enable
'YES' oder 'NO'

Anonymous-Login erlaubt werden soll. Gelesen wird hierbei die unter email_password_file angegebene Liste. Das Format ist denkbar einfach. Ein Passwort pro Zeile.

session_support 
'YES' oder 'NO'

Hiermit versucht vsftpd die Sessions der Logins beizubehalten. Sobald dieser Wert auf 'YES' gesetzt ist, versucht vsftpd die utmp und wtmp upzudaten, indem er eine PAM-Session oeffnet. Per Default ist dieser Wert auf 'NO'.

setproctitle_enable
'YES' oder 'NO'

Hier kann man angeben ob der Status aktiver Verbindungen bei "ps" auftauchen soll.

use_localtime

Zeitzoneneinstellung für vsftpd. Standard ist GMT, der MDTM FTP Befehl ist von dieser Option ebenso betroffen.

user_config_dir

Hier kann eine benutzerspezifische Konfigurationsdatei angegeben werden. Das ist vor allem interessant, wenn man VHosts verwalten soll / muss. Bsp.:

 user_config_dir=/etc/vsftpd_user1
 $ mkdir /etc/vsftpd_user1

Anschließend muessen noch Leserechte auf das Verzeichnis gegeben werden und das wars.

userlist_enable

Wenn diese Option genutzt wird lädt vsftpd eine Benutzerliste aus der unter userlist_file vermerkten Datei. Jeder Benutzername aus dieser Datei wird als unzulässig abgewiesen. Dies kann nützlich sein um Klartextpasswortübermittlungen über das Netz zu vermeiden.

userlist_file

Hier wird das Name der Datei angegeben, die geladen werden soll wenn man userlist_enable aktiviert hat. Per Default wird /etc/vsftpd.user_list verwendet.

virtual_use_local_privs

Wenn diese Option genutzt wird erhalten virtuelle Nutzer dieselben rechte wie lokale Nutzer. Standradmäßig erhlten virtuelle Nutzer nur die Rechte der anonymen Nutzer die normalerweise eingeschränkter als die der normalen Nutzer sind(speziell im Falle von Schreiboperationen).

write_enable

Damit werden die FTP-Befehle die das Dateisystem verändern können erlaubt oder verboten. Diese Befehle sind: STOR, DELE, RNFR, RNTO, MKD, RMD, APPE und SITE.

xferlog_enable

Hier wird die Logdatei fuer XFerlog definiert. Default ist /var/log/xferlog


Quellen und Links

Es gibt eine Masse an Seiten zu diesem FTP-Server, aber ich möchte hier gerne einige Links posten, die mir geholfen haben(Links von cero und oc2pus):


zurück zur File-Server Übersicht

zurück zur FTP Übersicht