Vsftpd

Aus Linupedia.org
Wechseln zu: Navigation, Suche

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)


Website: http://vsftpd.beasts.org/

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.

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.

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/vsftp.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 Anonymos 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 da jeden von 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 allerdings auf /etc/ftpuser.

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):

[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'.

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 Datei Creation auf für anonyme Benutzer eingestellt.

ascii_upload_enable 'YES' oder 'NO' Siehe ascii_download_enable, nur diesmal fuer 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 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 'YES' oder 'NO' 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 '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.

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 definiert werden kann

check_shell '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.

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 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.

deny_email_enable 'YES' oder 'NO' Hier wird geregelt ob bestimmte Email - Adressen verboten werden sollen. Die Adressen werden in einer externen Datei gesucht, die mit

dirlist_enable '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 This setting is the real username which guest users are mapped to.

hide_ids 'YES' oder 'NO' If enabled, all user and group information in directory listings will be displayed as "ftp". 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 '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.

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. local_umask

log_ftp_protocol

'YES' oder 'NO'

ls_recurse_enable

'YES' oder 'NO'

The value that the umask for file creation is set to for local users. 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 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.

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. 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 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 '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 This string is the name of the PAM service vsftpd will use.

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 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. 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

Anschlieszend muessen noch Leserechte auf das Verzeichnis gegeben werden und das wars. 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. 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 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). 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. xferlog_enable 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. © All rights by Yehudi Matthäus für den Linux Club - 2006

--Yehudi 08:06, 16. Aug 2006 (CEST)