www.ProFTPD.de
13. März 2007, 22:13:03 *
Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?

Einloggen mit Benutzername, Passwort und Sitzungslänge
News: SMF - Neu installiert!
 
   Übersicht   Hilfe Suche Login Registrieren  
Seiten: [1]   Nach unten
  Drucken  
Autor Thema: ProFTPD + SQL Konfiguartion?  (Gelesen 271 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
S_O
Gast
« am: 05. Dezember 2004, 19:42:26 »

Gleich vorweg: Ja, ich habe die Dokumentation gelesen und auch das Forum durchsucht, hat aber nicht geholfen.

Ich habe gestern erfolgreich die neuste Version von ProFTPD mit MySQL-Unterstützung kompiliert/installiert und (zu meiner Überraschung) funktioniert auch alles wieder. Aber ich weiß leider nicht wie ich das mit dem SQL einrichten muss.
Was ich erreichen möchte: Alle FTP-Benutzer sollen vollkommen unabhängig vom System sein. Alle FTP-Benutzer können sich nur innerhalb eines Verzeichnisses (und dessen Unterverzeichnisse) bewegen (/srv/www/htdocs/). Es gibt einen Anonymous-Benutzer, der auf das meiste in diesem Ordner Lesezugriff hat (einen Teil habe ich direkt in der Konfiguration gesperrt in dem <anonymous>-Block, ein anderen Teil mit .ftpaccess). Soweit funktioniert auch alles, das ist meine Konfiguration bis jetzt (ich habe einen großteil kopiert und abgeändert, deswegen passen die Kommetare nicht mehr überall):
Code:
ServerName ftp.meindomain.de
ServerType standalone
ServerAdmin         meine@email.de
ServerIdent     on "FTP Server ready."
DefaultServer on

# Port 21 is the standard FTP port.
Port 21
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022

# 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 nobody
#Group nogroup
DenyFilter  "%" # Hier gibt man an, welche Ausdrücke der Client nicht benutzen darf
UseReverseDNS off # DNS Auflösung abschalten
IdentLookups off # Ident Lookup ausschalten
TimeoutStalled 300 # Zeit bis zur Trennung ohne Datenverkehr
TimeoutLogin 30 # Zeit für Login
TimeoutIdle 120 # Zeit bis zur Trennung ohne Datenverkehr (Daten und Kontrollleitung)
TimeoutNoTransfer 300 # Maximale Zeit ohne eine Datenverbindung

RootLogin off # Nur kein Root Login!!
MaxLoginAttempts 3 # Maximale Anzahl der Loginversuche
RequireValidShell off

<Global>

DefaultRoot /srv/www/htdocs # Hiermit erzwinge ich die User in das benannte Verzeichnis
AllowRetrieveRestart on # Erlaube das Fortsetzen eines abgebrochenen Downloads
AllowForeignAddress on # Erlaube FXP
AllowStoreRestart on # Erlaube das Fortsetzen eines abgebrochenen Uploads
HiddenStor off # Muß ausbleiben, wenn AllowStoreRestart On
MaxClients 10 "Sorry, to many users online! Please try again later" # Maximale Anzahl
# der Clients mit Meldung
MaxClientsPerHost 2 "Max 2 Login per Host!!" # Maximale Anzahl der Clients/IP mit Meldung
DeleteAbortedStores off # Abgebrochene Uploads löschen AUS
ShowSymlinks on # Unterstützung von symbolischen Links
#DisplayLogin hello.txt # Datei mit Begrüßungstext
#DisplayQuit ""Bye Bye"" # Text beim Beenden
#DeferWelcome on # Servername und Adresse wird erst n. erfolgreichem Login angezeigt

</Global>

<Anonymous /srv/www/htdocs>
 User  ftp               # After anonymous login, daemon runs as user ftp
 Group ftp               # After anonymous login, daemon runs as group ftp
 UserAlias anonymous ftp # Client login as 'anonymous' is aliased to 'ftp'

 <Directory *>
  <Limit WRITE>    # Alle Schreibzugriffe unter dem root-Verzeichnis verbieten
   DenyAll         # Standard ist "erlauben", daher brauchen wir kein
  </Limit>         # <Limit> für Lesezugriffe erlauben
 </Directory>
 <Directory /srv/www/htdocs/myadmin>
  <Limit ALL>     # Alle Schreibzugriffe unter dem root-Verzeichnis verbieten
   DenyAll         # Standard ist "erlauben", daher brauchen wir kein
  </Limit>         # <Limit> für Lesezugriffe erlauben
 </Directory>
  <Directory /srv/www/htdocs/ssl>
  <Limit ALL>     # Alle Schreibzugriffe unter dem root-Verzeichnis verbieten
   DenyAll         # Standard ist "erlauben", daher brauchen wir kein
  </Limit>         # <Limit> für Lesezugriffe erlauben
 </Directory>

</Anonymous>
UseFtpUsers off

Nun möchte ich noch Gruppen wie die anonymous-Gruppe in der Konfiguration einrichten. In der SQL-Datenbank sollen die Benutzerdaten (Name/Passwort) der Gruppenmitglieder stehen, so das ich Benutzer einfach mit einem Webfrontend hinzufügen/löschen/verändern kann. Alle Benutzer sollen desweiteren den gleichen Systembenutzer benutzen.
Die einzelnen Rechte dieser Benutzergruppen sollten aber in der proftpd.conf bleiben, am besten wäre es wenn ich die so einrichten kann wie den <anonymous>-Block. Wie mache ich das?

Ich auch schon im englischen Forum gepostet, bevor ich dieses Forum gefunden habe, das scheint jedoch nur sehr wenig besucht zu sein und die deutsche Sprache fällt mir doch einfacher.
Gespeichert
S_O
Gast
« Antwort #1 am: 06. Dezember 2004, 23:05:25 »

Ich habe das web-frontend "MyFTP-Admin" heruntergeladen, da war eine Beispielkonfiguration, damit habe ich alles hinbekommen.

Doch ich habe immernoch ein problem: Ich möchte nicht das bestimmte Nutzer auf Dateien mit einem Punkt im Dateinamen als Anfang (.htaccess, .ftpaccess ...) und auf Dateien mit der Endung .inc Zugriff haben, aber eine andere Benutzergruppe soll die Dateien normal bearbeiten können.
Wie muss ich das nun mit dem DenyFilter machen? Egal wo ich den reinsetze, entweder er gilt global, geht nicht oder proftpd will die conf dann nicht und sagt das er hier nicht erlaubt ist. Ich suche irgendwie sowas:

<LIMIT ALL>
PathDenyFilter "((^|/)[-.])| (\.inc$)"
AllowGroup admin
</LIMIT>

Wie kann ich das machen?
Gespeichert
Seiten: [1]   Nach oben
  Drucken  
 
Gehe zu:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.2 | SMF © 2006-2007, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS
Seite erstellt in 0.055 Sekunden mit 14 Zugriffen.