ProFTPd installieren und konfigurieren


Bevor ich die Installation starte, möchte ich klarstellen, dass sie bei FTP die Benutzerdaten im Klartext übertragen. Das bedeutet, dass jemand ihre Daten mithören kann und sich somit auf ihren Account einloggen kann. Besser wäre sftp oder scp. Wenn sie nicht möchten, dass der Benutzer einen Großteil ihres Rechners lesen kann sollten sie scponly benutzen. Ich erkläre scponly detailierter hier.
Die installation von ProFTPd ist sehr einfach. Ich installiere immer die Module Ldap und/oder Sql, damit ich die Authentifizierung darüber abwickeln kann.
./configure  --prefix=/usr/local/proftpd/1.2.10 --sysconfdir=/etc \
--localstatedir=/var \
--with-modules=mod_sql:mod_sql_mysql:mod_ldap \
--with-includes=/usr/local/mysql/current/include/mysql \
--with-libraries=/usr/local/mysql/current/lib/mysql

make && make install

mkdir /var/log/proftpd

Bei meinen Configure muss MySQL schon in diesem Verzeichniss installiert sein, sowie OpenLdap. So der FTP Server ist installiert, als nächstes folgt die Konfiguration. Die meisten Directiven sind von der Namensgebung sehr gut gewählt, dass sie selbsterklärend sind. Am Ende habe ich noch ein Verzeichniss angelegt, wo ich die Logfiles finden werde. Dieses Verzeichniss kann man jederzeit im Konfigfile ändern.
So sieht eine typische Konfiguration von ProFTPd aus.
ServerName                      "Gib mir einen Namen"
ServerType                      standalone
ServerIdent                     on "Microsoft FTP Service (Version 4.0)"
DefaultServer                   on
Port                            21
MaxInstances                    100
User                            nobody
Group                           nobody
RequireValidShell               off
ServerAdmin                     root@localhost
PidFile                         /var/run/proftpd.pid
TransferLog                     /var/log/proftpd/xferlog
SystemLog                       /var/log/proftpd/ftp.log

DefaultRoot                     ~
DenyFilter                      \*.*/
HideNoAccess                    on

<Directory ~>
  AllowOverwrite                on
  Umask                         0077
  <Limit SITE_CHMOD>
    AllowAll
  </Limit>
</Directory>

Dies ist eine Konfiguration, wo jeder User nur sein Homeverzeichniss sehen und darauf schreiben kann. Mit der Directive ServerIdent täuscht man einen Benutzer einen Microsoft FTP Server vor.
Für genauere Informationen empfehle ich Die Seiten www.proftpd.org und die Deutsche ProFTPd Seite.