[buug-l] Proftpd-Konfiguration

Samy Khadem-Al-Charieh samy at khadem.de
Don Mai 10 12:57:10 CEST 2007


Hallo liebe Buugies,

ich habe hier bei uns den Proftpd eingerichtet mit einem anonymen,
einem upload, einem download und einem Master-Account.

Das ganze funktioniert auch so, wie ich das will:
- anonym sieht man das Verzeichnis /pub und kann lesen und runterladen,
   aber nichts schreiben
- im upload kann man im Verzeichnis /incoming hochladen, aber weder
   das Verzeichnis auslesen, noch etwas runterladen
- im download kann man im Verzeichnis /downloads weder das Verzeichnis
   auslesen, noch etwas hochladen, aber bei Kenntnis eines genauen
   Pfades Dateien einzeln runterladen
- als Master kann man sich frei bewegen und überall hoch- und
   runterladen und Dateien löschen und natürlich auch alle Verzeichnisse
   auslesen

Was nicht geht:
All die oben beschriebene Funktionalität geht mit einem
Kommandozeilen-FTP-Client genau wie gewünscht und ohne Probleme:

   > ftp ftp://ftpdown:gaga@videostudio/gaga

Wir bräuchten aber dringend die Möglichkeit jemandem eine
E-Mail mit einem entsprechenden Link schicken zu können,
den er dann im Browser einfach anklicken kann:

   <ftp://ftpdown@videostudio/gaga>

Wie gesagt soll der Verzeichnisinhalt aus Datenschutzgründen nicht
angezeigt werden, da sich hier auch Dateien für andere Empfänger
befinden können!

LG, Samy.

-------------- nächster Teil --------------
#
# /etc/proftpd.conf -- This is a basic ProFTPD configuration file.
# To really apply changes reload proftpd after modifications.
# 

ServerName			"FTP Server of TUB's 3D-Lab"
ServerType			standalone
DeferWelcome			off

# These options do a speedup of the login process
IdentLookups			off
UseReverseDNS			off
AllowOverride			off

MultilineRFC2228		on
DefaultServer			on
ShowSymlinks			on

TimeoutNoTransfer		600
TimeoutStalled			600
TimeoutIdle			1200

DisplayLogin                    welcome.msg
DisplayFirstChdir               .message
ListOptions                	"-l"

DenyFilter			\*.*/

# Uncomment this if you are using NIS or LDAP to retrieve passwords:
#PersistentPasswd		off

# Uncomment this if you would use TLS module:
#TLSEngine 			on

# Uncomment this if you would use quota module:
#Quotas				on

# Uncomment this if you would use ratio module:
#Ratios				on

# Port 21 is the standard FTP port.
Port				21

# To prevent DoS attacks, set the maximum number of child processes
# to 30.  If you need to allow more than 30 concurrent connections
# at once, simply increase this value.  Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd)
MaxInstances			30

# Set the user and group that the server normally runs at.
User				ftp
Group				ftp

# Umask 022 is a good standard umask to prevent new files and dirs
# (second parm) from being group and world writable.
Umask				002  002
# Normally, we want files to be overwriteable.
AllowOverwrite			on

# Delay engine reduces impact of the so-called Timing Attack described in
# http://security.lss.hr/index.php?page=details&ID=LSS-2004-10-02
# It is on by default. 
#DelayEngine 			off

<Anonymous ~ftpmaster>
  User				ftpmaster
  Group				ftp
  RequireValidShell		off
  MaxClients			10
  DisplayLogin			welcome.msg
  DisplayFirstChdir		.message
  AnonRequirePassword		on
  AuthUsingAlias		off
  <Directory *>
    <Limit ALL>
      AllowAll 
    </Limit>
  </Directory>
</Anonymous>

<Anonymous ~ftpup>
  User				ftpup
  Group				ftp
  RequireValidShell		off
  MaxClients			10
  DisplayLogin			welcome.msg
  DisplayFirstChdir		.message
  AnonRequirePassword		on
  AuthUsingAlias		off
  <Directory *>
    <Limit STOR>
      AllowAll 
    </Limit>
  </Directory>
  <Directory *>
    <Limit WRITE DIRS READ>
      DenyAll
    </Limit>
  </Directory>
</Anonymous>

<Anonymous ~ftpdown>
  User				ftpdown
  Group				ftp
  RequireValidShell		off
  MaxClients			10
  DisplayLogin			welcome.msg
  DisplayFirstChdir		.message
  AnonRequirePassword		on
  AuthUsingAlias		off
  <Directory *>
    <Limit READ>
      AllowAll 
    </Limit>
  </Directory>
  <Directory *>
    <Limit WRITE DIRS STOR>
      DenyAll
    </Limit>
  </Directory>
</Anonymous>

<Anonymous ~ftp/pub>
  User				ftp
  Group				ftp
  UserAlias			anonymous ftp
  RequireValidShell		off
  MaxClients			10
  DisplayLogin			welcome.msg
  DisplayFirstChdir		.message
  <Directory *>
    <Limit WRITE>
      DenyAll
    </Limit>
  </Directory>
</Anonymous>