ProFTPd ist ein sehr mächtiger FTP Server mit vielen Möglichkeiten.
Beim Verbindungsaufbau gibt es wie eine kleine Wartezeit von ca. 5 Sekunden, bevor man wirklich auf dem Server ist. In dieser Zeit wird eine Namensauflösung gemacht, welche viele User nervt.
Im Configfile /etc/proftpd/proftpd.conf kann man daher diese beiden Zeilen einfügen:
UseReverseDNS off
IdentLookups off
Ich will auch das die „versteckten“ Dateien unter Linux (sogenannte Dotfiles: z.B. .htaccess) nicht angezeigt werden und ändere die ListOptions Einstellung auf:
ListOptions „+a“
Zusätzlich will ich das Feature FXP aktivieren, da dies sehr nützlich sein kann, um vom Server zu einem anderen Server Backups zu übertragen, aber die Befehle von Zuhause abzusetzen. Dazu öffnet man wiederum die Datei /etc/proftpd/proftpd.conf und setzt folgende neue Zeile rein:
AllowForeignAddress on
Weiter gibt es immer wieder diverse Anfragen, wie man gewisse Folder für FTP-User verstecken kann. Man erzeugt im zu versteckenden Folder einfach eine Datei mit dem Name .ftpaccess mit vergleichbarem Inhalt:
<Limit All>
DenyAll
Order deny,allow
</Limit>
<Limit All>
AllowUser ERLAUBTER-USER
</Limit>
Zudem empfehle ich den ProFTPd mit inetd oder xinetd zu starten (bei <500 Usern), da dann viele Ressourcen gespart werden können. Dazu ändert ihr die Datei /etc/proftpd/proftpd.conf (inetd bei inetd UND xinetd!)
ServerType inetd
Und erstellt anschliessend eine neue Datei „proftpd“ im Verzeichnis /etc/xinetd.d:
# /etc/xinetd.d/proftpd
# service ftp = muss dem eintrag in der /etc/services entsprechen
service ftp
{
flags = REUSE
socket_type = stream
protocol = tcp
wait = no
# zumindest user sollte die Gruppe „root“ sein.
# damit funktioniert der login ein wenig besser.
user = root
server = /usr/sbin/proftpd
disable = no
}
Xinetd neustarten und ein sehr schnellen ProFTPd geniessen ;)
Hi,
hab ListOptions “+a” probiert, aber meine .htaccess wird immer noch in meinem filezilla angezeigt. was mach ich falsch?
danke
Vesuche es mit „IgnoreHidden on“ und den Dienst reloaden danach ;)
Hallo
Habe proFTPd 1.3.5b.
Bei früheren Servern funktionierte die welcome.msg, was jetzt nicht mehr der fall ist.
Habe absoluten Pfad drin:
DisplayLogin /home/test2/welcome.msg
DisplayChdir .message true
ListOptions „-l“
.
.
DefaultRoot /home ftpgroup
Message wird weder bei Viruellen- noch Systemusern angezeigt. Es kommt nur:
Status: Verbindung hergestellt, warte auf Willkommensnachricht…
Status: Initialisiere TLS…
Was mach ich falsch?
Prüfe manuell nach, ob der Benutzer worunter der proftpd Service läuft auch Leserechte auf das Verzeichnis / Datei hat. Sonst wird der dies nicht anzeigen, wenn Du ein anderes als sein Standardverzeichnis nimmst.
Habe
DisplayLogin /home/daten/welcome.msg
DefaultRoot /home ftpgroup
drin.
die welcome.msg ist unter /home/daten und hat 644
Alle User haben Berechtigung auf /home/daten
Komisch ist, dass die message auch auf einem anderen Server nicht mehr funzt, obschon ich nichts an der conf geändert habe.
LOL. Hab’s gerade gefunden!
Es liegt am Filezilla. Unter crossFTP funzt’s.
Damit Fz die message anzeigt, muss unter Einstellungen>Debug die Debug-Info auf 1-Warnungen gestellt werden.
Habe „Virtual Hosting With Proftpd And MySQL“ unter Debian 8 installiert.
Die virtuellen User haben alle die gleiche Nummer (zBsp 2001:2001).
Trotzdem unterscheidet proFTPd die Usernamen.
Somit kann zBsp nur den viruellen Usern 1 & 2 Schreibrechte gegeben werden mit:
AllowUser user1,user2
DenyAll
@Stefan: Vielen Dank für Deine Antwort. Wirklich ein nützlicher Blog hier. Werde den in meine Favoritenliste aufnehmen ^^
Ups die Eckklammern werden nicht richtig angezeigt.
Es sollte heissen – ist Eckklammer)
-Directory ~-
-Limit WRITE-
AllowUser user1,user2
DenyAll
-/Limit-
-/Directory-