Benutzer-Werkzeuge

Webseiten-Werkzeuge


linux:proftpd

ProFTPd

Dieser Artikel beinhaltet eine kurze Anleitung zum Aufsetzen eines FTP-Servers unter Debian Linux. Bei anderen Linux-Distributionen sollte die Inbetriebnahme eines FTP-Servers ähnlich funktionieren. Als Testsystem wurde Debian 5.0 (x86) verwendet.

Installation des benötigten Pakets proftpd

Wegen der einfachen Installation und Konfiguration wird für diese Anleitung der ProFTPd FTP-Server verwendet.

apt-get install proftpd

Sollte das Paket nicht gefunden werden, aktualisieren Sie die lokale Paketliste mit

apt-get install update

Sollten Sie das Paket dann immer noch nicht installieren können, überprüfen Sie /etc/apt/sources.list auf passende Debian Spiegel. Mehr Informationen dazu finden Sie im Artikel Debian Mirror. In der anschließenden Abfrage geben Sie an, ob der FTP-Server als eigenständiger Server laufen soll (standalone), oder als Dienst vom inetd. In diesem Beispiel wurde die Option standalone gewählt.

Anpassen der Konfiguration

Unsere Konfiguration sieht vor das wir den Login mit System Benutzern realisieren die sich in der Gruppe ftpuser befinden. Um die Konfiguration auf die eigenen Bedürfnisse anzupassen, editieren Sie die Datei /etc/proftpd/proftpd.conf. Sollten Sie kein IPv6 benutzen, ist das das erste was wir abschalten:

UseIPv6 off

Danach fügen wir folgende Anweisungen am Ende der Datei hinzu:

<Global>
    RequireValidShell off
</Global>
    DefaultRoot / admins
    DefaultRoot ~ ftpuser
<Limit LOGIN>
    DenyGroup !ftpuser,!admins
</Limit>

Was bedeuten die Anweisungen?
Als erstes haben wir ProFTPd gesagt, dass der Benutzer, der sich anmelden möchte, keine Shell braucht. Danach haben wir mit DefaultRoot ProFTPd angewiesen den User in seinem Home Verzeichnis einzusperren. Und zum Schluss haben wir angegeben, dass sich nur Benutzer einloggen können, die Mitglied in der Gruppe ftpuser sind. Benutzer, die in der Gruppe admins sind, können auf den vollständigen Root Bereich zugreifen. Nun starten wir unseren FTP Server neu damit unsere Konfiguration wirksam wird:

/etc/init.d/proftpd restart

Dann erstellen wir die Gruppen ftpuser und admin und den ersten Benutzer der sich per FTP einloggen kann.

addgroup ftpuser
addgroup admins

Nun legen wir den Benutzer an:

adduser ftpbenutzer -shell /bin/false -home /var/www

Und als letztes weisen wir den Benutzer noch der ftpuser Gruppe zu:

adduser ftpbenutzer ftpuser

Ok, das wars. Sie sollten sich nun mit dem Benutzer per FTP einloggen können.

Anonymes FTP

Mit folgendem Abschitt in der etc/proftpd/proftpd.conf ermöglichen Sie auch anonymen Benutzern den (lesenden) Zugriff auf den FTP-Bereich:

<Anonymous ~ftp>
  User                          ftp
  Group                         nogroup
  # We want clients to be able to login with "anonymous" as well as "ftp"
  UserAlias                     anonymous ftp
  # Cosmetic changes, all files belongs to ftp user
  DirFakeUser   on ftp
  DirFakeGroup on ftp
RequireValidShell             off
# Limit the maximum number of anonymous logins
    MaxClients                    10
  # We want 'welcome.msg' displayed at login, and '.message' displayed
  # in each newly chdired directory.
  DisplayLogin                  welcome.msg
  DisplayFirstChdir             .message
# Limit WRITE everywhere in the anonymous chroot
  <Directory *>
    <Limit WRITE>
        DenyAll
    </Limit>
  </Directory>
#   # Uncomment this if you're brave.
#   # <Directory incoming>
#   #   # Umask 022 is a good standard umask to prevent new files and dirs
#   #   # (second parm) from being group and world writable.
#   #   Umask                           022  022
#   #            <Limit READ WRITE>
#   #            DenyAll
#   #            </Limit>
#   #            <Limit STOR>
#   #            AllowAll
#   #            </Limit>
#   # </Directory>
</Anonymous>

Damit der Benutzer „ftp“ auch auf den anonymen FTP-Bereich zugreifen kann, muss er noch der Gruppe „ftpuser“ hinzugefügt werden:

adduser ftp ftpuser

Neuladen der Konfiguration und Neustarten des FTP-Servers Nach Anpassen der Datei /etc/proftpd/proftpd.conf muss die Konfiguration neu geladen werden:

/etc/init.d/proftpd reload

Da bei dem Neuladen der Konfiguration der FTP-Server gestoppt wird, muss er abschließend wieder gestartet werden:

/etc/init.d/proftpd start

Weblinks

Aus http://www.thomas-krenn.com/de/wiki/FTP-Server_unter_Debian_einrichten

Weitere Configs:

ExtendedLog /var/log/ftp.log auth,all
MaxClientsPerHost 5 "You are already logged on once."
RootLogin                       off
linux/proftpd.txt · Zuletzt geändert: 2014/03/10 22:24 von Madic