Very Secure FTP Daemon

Aus wiki.archlinux.de
Version vom 23. Februar 2009, 22:56 Uhr von Lyl (Diskussion | Beiträge) (Neu erstellt nach englischem Artikel auf archlinux.org)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Installation

vsftpd kann mit pacman instaliert werden.

# pacman -S vsftpd

Optional kann der Deamon über xinetd gestartet werden.

# pacman -S xinetd

Konfiguration

Mit xinetd

Um vsftpd mit xinetd zu betreiben muss die Datei /etc/xinetd.d/vsftpd mit folgendem Inhalt erstellt werden.

service ftp
{
        socket_type             = stream
        wait                    = no
        user                    = root
        server                  = /usr/sbin/vsftpd
        log_on_success          += HOST DURATION
        log_on_failure          += HOST
        disable                 = no
}

Um xinetd automatisch zu starten, muss xinetd in /etc/rc.conf eingefügt werden:

DAEMONS=(... xinetd ...)

/etc/vsftpd.conf ist gut Komentiert. Hier ein Beispiel wie die Konfiguration aussehen könnte:

anonymous_enable=NO      # kein Anmelden als anonymous erlauben
local_enable=YES         # Anmelden mit lokalen Benutzer-Konten
write_enable=YES         # Schreibrechte für die Benutzer (Vorsicht bei anonymous_enable=YES!!!)

Falls Fehler wie

500 OOPS: cap_set_proc

auftreten, muss das Modul capability geladen werden bzw. in /etc/rc.confeingefügt werden.

MODULES=(... capability ...)

Beim nächsten Systemstart wird vsftpd gestartet oder ohne Neustart:

# /etc/rc.d/xinetd (re)start

Stand-Alone (ohne xinetd)

/etc/vsftpd.conf ist gut Komentiert. Hier ein Beispiel wie die Konfiguration aussehen könnte:

listen=YES               # vsftpd als Stand-Alone-Server verwenden
anonymous_enable=NO      # kein Anmelden als anonymous erlauben
local_enable=YES         # Anmelden mit lokalen Benutzer-Konten
write_enable=YES         # Schreibrechte für die Benutzer (Vorsicht bei anonymous_enable=YES!!!)

Wichtig ist hier das listen=YES gesetzt ist.

vsftpd kann jetzt gestartet werden.

# vsftpd

Virtuelle User

Virtuelle User haben keinen realen Login und können nur auf Daten im FTP-Ordner zugreifen. Um Virtuelle User anzulegen muss zuerst eine Datei (z.B. login.txt) mit Benutzernamen und Passwörtern erstellt werden.

user1
password1
user2
password2

Danach muss aus dieser Datei eine eine Datenbank erzeugt und die Berechtigungen eingeschränkt werden.

# db_load -T -t hash -f logins.txt /etc/vsftpd_login.db
# chmod 600 /etc/vsftpd_login.db

Damit PAM (Pluggable Authentication Modules) die vsftpd_login.db verwendet, muss die Datei /etc/pam.d/ftp erstellt werden:

auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login crypt=hash 
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login crypt=hash

Nun muss noch der Benutzer virtual erstellt werden. In diesem Beispiel mit dem Home-Verzeichniss /srv/ftp.

useradd -d /srv/ftp virtual
chown virtual:virtual /srv/ftp

Danach noch die Datei /etc/vsftpd.conf anpassen.

anonymous_enable=NO
local_enable=YES
chroot_local_user=YES
guest_enable=YES
guest_username=virtual
virtual_use_local_privs=YES

Nach einem Neustart des Daemons kann man sich nun mit den neuen Benutzernamen anmelden.

siehe auch

ProFTP einrichten


Dieser Artikel (oder Teile davon) steht unter GNU FDL (GNU Freie Dokumentationslizenz) und ist eine Übersetzung aus dem ArchLinux.org Wiki. Am Original-Artikel kann jeder Korrekturen und Ergänzungen vornehmen. Im ArchLinux.org Wiki ist eine Liste der Autoren verfügbar.