S_O
Gast
|
|
« am: 07. Dezember 2004, 17:29:03 » |
|
Ich habe meinen FTP-Server mit SQL jetzt soweit zum laufen, aber ich möchte noch Dateien mit der Endung .inc und Dateien die mit einem Punkt im Dateinamen anfangen (.htaccess / .ftpaccess) für fast alle Benutzergruppen sperren. Das ist meine Konfiguration soweit (alle Kommentare etc. entfernt): ServerName ftp.meindomain.de ServerType standalone ServerAdmin meine@email.de ServerIdent on "FTP Server ready." DefaultServer on Port 21 Umask 022 MaxInstances 30 User nobody DenyFilter "%" UseReverseDNS off IdentLookups off TimeoutStalled 300 TimeoutLogin 30 TimeoutIdle 120 TimeoutNoTransfer 300 RootLogin off MaxLoginAttempts 3 RequireValidShell off UseFtpUsers off <Global> DefaultRoot /srv/www/htdocs AllowRetrieveRestart on AllowForeignAddress on AllowStoreRestart on HiddenStor off MaxClients 10 "Sorry, to many users online! Please try again later" MaxClientsPerHost 2 "Max 2 Login per Host!!" DeleteAbortedStores off ShowSymlinks on </Global> <Anonymous /srv/www/htdocs> User ftp Group ftp UserAlias anonymous ftp <Directory *> <Limit WRITE> DenyAll </Limit> </Directory> <Directory /srv/www/htdocs/myadmin> <Limit ALL> DenyAll </Limit> </Directory> <Directory /srv/www/htdocs/ftpadmin> <Limit ALL> DenyAll </Limit> </Directory> <Directory /srv/www/htdocs/ssl> <Limit ALL> DenyAll </Limit> </Directory> <Directory /srv/www/htdocs/ordnera> <Limit ALL> DenyAll </Limit> </Directory> <Directory /srv/www/htdocs/ordnerb> <Limit ALL> DenyAll </Limit> </Directory> </Anonymous> SQLAuthTypes Crypt SQLAuthenticate users* groups* SQLConnectInfo ftp@localhost username password SQLUserInfo users username passwd NULL NULL homedir NULL SQLGroupInfo groups groupname id username SQLUserWhereClause "valid = 1" SQLDefaultGID 8 SQLDefaultUID 30 SQLHomedirOnDemand off SQLLog PASS updatelogin SQLNamedQuery updatelogin UPDATE "count=count+1, lastlogin=NOW() WHERE username = '%u'" users SQLLog STOR,RETR,ERR_STOR,ERR_RETR logtrafic SQLNamedQuery logtrafic FREEFORM "INSERT INTO history (username, filename, transfertype, transfersize, transferhost, transfertime, transferdate) VALUES('%u', '%F', '%m', %b, '%a', '%T', NOW())" SQLLog ERR_* logevents SQLNamedQuery logevents FREEFORM "INSERT INTO userevents (username, eventtype, description, eventdate) VALUES ('%u', '%m', '%r', NOW())" <Directory /*> <Limit WRITE> DenyAll AllowGroup admin </Limit> </Directory> <Directory /srv/www/htdocs/ssl> <Limit ALL> DenyAll AllowGroup admin </Limit> </Directory> <Directory /srv/www/htdocs/myadmin> <Limit ALL> DenyAll </Limit> </Directory> <Directory /srv/www/htdocs/ftpadmin> <Limit ALL> DenyAll </Limit> </Directory> <Directory /srv/www/htdocs/ordnera> <Limit ALL> DenyAll AllowGroup admin AllowGroup gruppea </Limit> <Limit WRITE> DenyAll AllowGroup admin AllowGroup gruppea </Limit> <Limit SITE_CHMOD> DenyAll AllowGroup admin </Limit> </Directory> <Directory /srv/www/htdocs/gallery> <Limit WRITE> DenyAll AllowGroup admin AllowGroup gruppea </Limit> <Limit SITE_CHMOD> DenyAll AllowGroup admin </Limit> </Directory> <Directory /srv/www/htdocs/ordnerb> <Limit ALL> DenyAll AllowGroup admin AllowGroup gruppea AllowGroup gruppeb </Limit> <Limit WRITE> DenyAll AllowGroup admin AllowGroup gruppea AllowGroup gruppeb </Limit> <Limit SITE_CHMOD> DenyAll AllowGroup admin </Limit> </Directory> Wo muss ich das mit dem PathDenyFilter nun einfügen, damit alle außer Benutzer der Gruppe admin keinen Zugriff mehr auf .htaccess etc. haben?
|
|
|
Gespeichert
|
|
|
|
S_O
Gast
|
|
« Antwort #1 am: 07. Dezember 2004, 22:14:05 » |
|
Ich habe proftpd jetzt nochmal mit dem ifsession-Modul neu kompiliert, auf das ich ganz versteckt einen Hinweis irgendwo gefunden habe (die Dokumentation von proftpd ist wirklich nicht gerade übersichtlich) weiß aber noch nicht genau wo ich das in meine Konfiguration einbauen muss:
<IfGroup !admin> PathDenyFilter \.inc$|^\.|^config\.php$ </IfGroup>
Ich möchte auch das die Dateien ausgeblendet werden in der Verzeichnisansicht und der proFTPd sich so verhält as ob die Dateien nicht existieren wenn man versucht direkt drauf zuzugerifen. Ich habe gelesen das geht mit IgnoreHidden und HideNoAccess oder so, aber ich verstehe nicht wo das genau hin muss. Ich möchte das es für alle nicht-admins global gilt. Kann mir bitte irgendjemand helfen? Ich komme da nicht weiter.
|
|
|
Gespeichert
|
|
|
|
S_O
Gast
|
|
« Antwort #2 am: 08. Dezember 2004, 15:12:29 » |
|
Ich habe gerade herausgefunden warum es nie zu gehen scheint:
PathDenyFilter sperrt nur write-befehle! Welche Einstellung sperrt alles, also auch lesen und auflisten, am besten die Existenz einer Datei verweigern und so tun als ob sie nicht existiert?
|
|
|
Gespeichert
|
|
|
|
Wörsty
|
|
« Antwort #3 am: 08. Dezember 2004, 16:14:47 » |
|
Weiß ich auch grad nicht. Kannst du nicht ListOptions dafür nehmen? Und Dateien mit . am Anfang ausblenden? Und die Dateien umbenennen in .Name :oops:
|
|
|
Gespeichert
|
RedHat 8.0 (2.4er Kernel) proftpd 1.2.10 -mod_sql_mysql -mow_wrap -mod_exec -mod_ifsession[/size]
|
|
|
S_O
Gast
|
|
« Antwort #4 am: 08. Dezember 2004, 18:40:57 » |
|
Ich kriegs einfach nicht hin! :cry: Egal was ich mache, und funktioniert es endlich, dass die benutzer die Dateien nicht nur nicht sehen, sondern auch nicht zugreifen können, habe ich die admins auch ausgesperrt :cry: :cry:
Ich habe alles mit IgnoreHidden und HideFiles ausprobiert, beim anonymous klappt das auch alles, aber mit IfGroup will das nicht, zum Teil ignoriert er das einfach oder er will IfGroup irgendwo nicht. Habe mich mit Define/IfDefine rumgemogelt, aber dann macht er absoluten Blödsinn.
Es muss doch möglich sein das eine Benutzergruppe auf bestimmte dateien nicht zugreifen kann?? Ich habe jetzt nahezu jeden Parameter in der Liste durchgegangen, aber ich finde nichts.
|
|
|
Gespeichert
|
|
|
|
Wörsty
|
|
« Antwort #5 am: 08. Dezember 2004, 22:20:31 » |
|
Ich kriegs einfach nicht hin! :cry: Egal was ich mache, und funktioniert es endlich, dass die benutzer die Dateien nicht nur nicht sehen, sondern auch nicht zugreifen können, habe ich die admins auch ausgesperrt :cry: :cry:
Ich habe alles mit IgnoreHidden und HideFiles ausprobiert, beim anonymous klappt das auch alles, aber mit IfGroup will das nicht, zum Teil ignoriert er das einfach oder er will IfGroup irgendwo nicht. Habe mich mit Define/IfDefine rumgemogelt, aber dann macht er absoluten Blödsinn.
Es muss doch möglich sein das eine Benutzergruppe auf bestimmte dateien nicht zugreifen kann?? Ich habe jetzt nahezu jeden Parameter in der Liste durchgegangen, aber ich finde nichts. Dann mache doch genau diese Sperr-Regeln in einen IfUser oder IfGroup-Block (siehe mod_ifsession) <IfGroup "AND" !schreibrechte,!administratoren> *Bla bla alles total verboten* </IfGroup> Dann gilt es für alle ausser die in der Gruppe schreibrechte oder administratoren
|
|
|
Gespeichert
|
RedHat 8.0 (2.4er Kernel) proftpd 1.2.10 -mod_sql_mysql -mow_wrap -mod_exec -mod_ifsession[/size]
|
|
|
S_O
Gast
|
|
« Antwort #6 am: 08. Dezember 2004, 22:33:44 » |
|
Genau so hab ich das ja gemacht! Ich habe meine eine Version der proftpd.conf, bei der ist jetzt alles gesperrt, genau so ie ich das für die normalen Benutzer haben möchte. Und ich hab die andere Version, bei der ist das nicht gesperrt so wie ich das für die admins haben möchte. Beide funktinieren jeweils perfekt. Da die Änderungen ja außschließlich in den directory-Blöcken am Ende sind, habe einfach um die einen directory-blöcke <IfGroup !admin> </IfGroup> gemacht und um die anderen <IfGroup admin> </IfGroup> und das in eine conf kopiert. ProFTPd startet immer noch perfekt, aber alles ist völlig verkehrt, auf einmal gehen bestimmte Ordner, die sonst in beiden konfs gingen gar nicht mehr, der admin hat in meinchen Ordnern weniger Rechte als der user etc. Das ist für mich völlig unerklärlich.
Dieser ifsession-mod scheint nicht korrekt zu funktionieren. Kann man das nicht anders lösen?
|
|
|
Gespeichert
|
|
|
|
Wörsty
|
|
« Antwort #7 am: 09. Dezember 2004, 07:37:04 » |
|
der admin hat in meinchen Ordnern weniger Rechte als der user mod_ifsession funktioniert super. Du hast entweder einen Denk- oder Konfigurationsfehler. Warum eigentlich "der" admin. Du filterst auf die Gruppe - nicht den Benutzer. Schon klar, oder? :debug:
|
|
|
Gespeichert
|
RedHat 8.0 (2.4er Kernel) proftpd 1.2.10 -mod_sql_mysql -mow_wrap -mod_exec -mod_ifsession[/size]
|
|
|
S_O
Gast
|
|
« Antwort #8 am: 09. Dezember 2004, 13:30:49 » |
|
Warum eigentlich "der" admin. Du filterst auf die Gruppe - nicht den Benutzer. Schon klar, oder? Klar, ich hab drei Gruppen, eine davon heißt admin, da sind die admins drin. Du hast entweder einen Denk- oder Konfigurationsfehler. Ich habe das jetzt schon 3x gemacht, und jedes mal spinnt der anders rum. Da ich nicht genau weiß wie ich IfGroup einstetzen darf, kann es sein das da ein Fehler drin ist, aber ich finde ihn nicht! Ich habe übrigens gelesen das directory mit einer Wildcard-Pfadangabe immer höhere Priorität hat als eines ohne. Ich habe nun einmal <Directory /*> wo IgnoreHidden, HideFiles, HideNoAccess drinsteht, aber er übernimmt das nicht für die Unterordner, wenn in deren <Directory>-Block das nicht nochmal wiederholt wird, warum? Wie kann ich denn die Konfiguration debuggen? Wo würdest denn du das mit IfGroup in meine conf (siehe erstes Post) einbauen? Alles was ich will ist das für !admin überall gilt: PathDenyFilter \.inc$|^\.|^config\.php$ HideFiles \.inc$|^\.|^config\.php$ HideNoAccess On IgnoreHidden On Und zwar überall. Kann ich das nicht irgendwo festlegen das es immer gilt, auch wenn es nicht immer und überall wieder erwähnt wird, außer bei PathDenyFilter krieg ich das nicht hin.
|
|
|
Gespeichert
|
|
|
|
Wörsty
|
|
« Antwort #9 am: 09. Dezember 2004, 15:42:31 » |
|
Wie kann ich denn die Konfiguration debuggen? proftpd -nd5 Wo würdest denn du das mit IfGroup in meine conf (siehe erstes Post) einbauen? In den Global Block. Eigentlich. Habe leider grad wenig Zeit um das mal zu testen.
|
|
|
Gespeichert
|
RedHat 8.0 (2.4er Kernel) proftpd 1.2.10 -mod_sql_mysql -mow_wrap -mod_exec -mod_ifsession[/size]
|
|
|
S_O
Gast
|
|
« Antwort #10 am: 09. Dezember 2004, 19:06:47 » |
|
proftpd -nd5 Hab ich gemacht, er ratert die conf durch und am Ende sagt er "Check the ServerType directive to ensure you are configured correctly." Er nimmt die conf ja auch, sie arbeitet aber nciht wie ich will. In den Global Block. Eigentlich. Habe leider grad wenig Zeit um das mal zu testen. Hab ich gemacht, HideFiles, HideNoAccess und IgnoreHidden erlaubt er nicht. habe ich dann im global-block in einem <directory /*>-Block gemacht, das ignoriert er beharrlich. Außer PathDenyFilter nimmt der nichts. Ich habe aber noch eine Idee, nämlich das in einer .ftpaccess zu machen, probiere ich gleich mal aus.
|
|
|
Gespeichert
|
|
|
|
S_O
Gast
|
|
« Antwort #11 am: 09. Dezember 2004, 19:50:40 » |
|
So, IfGroup ignoriert er in .ftpaccess vollständig. Ich könnte <IfGroup> auch auskommentieren ohne das irgendeine Änderung auftritt.
Leider übernimmt er es generell auch bei .ftpaccess nicht für Unterordner.
Wie zu Teufel mach ich das??? Ich habe irgendwo gelesen das es genauso wie apache zu konfigurieren sein soll: Apache lief bei mir mit VirtualHosts, PHP etc. in 15 Minuten. ProFTPd ist wesentlich schwieriger zu konfigurieren als Apache.
Bei Debug-Modus meine ich, das ich sehen kann, während ich auf dem Server bin, er mir genau sagt was ich gerade mache, und warum ich das darf/nicht darf.
|
|
|
Gespeichert
|
|
|
|
S_O
Gast
|
|
« Antwort #12 am: 13. Dezember 2004, 08:59:45 » |
|
:?: :?: :?: Ich habe inzwischen alles probiert! Ich habs in Global gehabt, in der .ftpaccess und überall sonst. Ich komme aber nicht weiter. Kann mir nicht irgendjemand sagen wo die Kommandos mit dem <IfGroup> hin müssen?
|
|
|
Gespeichert
|
|
|
|
stonki
|
|
« Antwort #13 am: 13. Dezember 2004, 09:18:17 » |
|
:?: :?: :?: Ich habe inzwischen alles probiert! Ich habs in Global gehabt, in der .ftpaccess und überall sonst. Ich komme aber nicht weiter. Kann mir nicht irgendjemand sagen wo die Kommandos mit dem <IfGroup> hin müssen? ich habe mich mit dem Thread noch nicht beschafft. Schick mir bitte als PN einmal folgendes: 1) Was willst du machen ? Bitte auch mit Beispiel 2) Wie sieht Deine aktuelle Config aus 3) Ausgabe von proftpd -vv und proftpd -l cu stonki
|
|
|
Gespeichert
|
|
|
|
S_O
ProFTPD
Offline
Beiträge: 3
|
|
« Antwort #14 am: 16. Dezember 2004, 16:10:06 » |
|
Schick mir bitte als PN einmal Ist die PN angekommen?
|
|
|
Gespeichert
|
|
|
|
|