www.ProFTPD.de
13. März 2007, 19:36:45 *
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: Brauche Hilfe bei Proftpd mit mysql  (Gelesen 356 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
Pampeldibuh
ProFTPD
*
Offline Offline

Beiträge: 8


Profil anzeigen
« am: 15. Dezember 2005, 23:55:37 »

Hallo,

also ich benutze Debian und habe über aptitude proFTPd-common und ProFTPd-mysql installiert. Die mysql Datenbank funktioniert problemlos, zumindest wenn ich eine ganz normale php Abfrage mache. Über FTP bekomme ich immer Error 530 Login incorrect.

proftpd -vv sag das die Module mod_sql.c und mod_sql_mysql.c laufen.
Die Verbindung von proFTPd zur Datenbank scheint auch zu bestehen. Kann es sein das Bibliotheken oder Header fehlen?

Ich probier schon seit drei Tagen rum und bekomm es einfach nicht hin.
Gespeichert
stonki
Administrator
ProFTPD
*****
Offline Offline

Beiträge: 1853


15318939
Profil anzeigen WWW E-Mail
« Antwort #1 am: 16. Dezember 2005, 08:10:02 »

Forumsuche nach Debian & mod_sql... Probleme...
Gespeichert

www.stonki.de:    the more I see, the more I know.......
www.proftpd.de:   Deutsche ProFTPD Dokumentation
www.krename.net:  Der Batch Renamer für KDE
www.kbarcode.net: Die Barcode Solution für KDE
Pampeldibuh
ProFTPD
*
Offline Offline

Beiträge: 8


Profil anzeigen
« Antwort #2 am: 16. Dezember 2005, 15:52:32 »

sry

habs jetzt gefunden, zum einen lief noch etwas auf port 21 und invalid shell hat er auch noch angekreidet, jetzt geht alles.

also an alle anderen nutzt die Forumsuche, bei mir hats geholfen  :lol:

###########################################

so ich habe ein weiteres Problem und zwar folgendes:
es gibt ein DefaultRoot und darin hat jeder user der mysql DB sein eigenes verzeichnis, die user sollen in ihren eigenen Verzeichnissen schreiben dürfen in den verzeichnissen der anderen user nur lesen. Nun muss ich ja irgendwie die userid an das Directory command übermitteln, wie geht das?
Gespeichert
Pampeldibuh
ProFTPD
*
Offline Offline

Beiträge: 8


Profil anzeigen
« Antwort #3 am: 17. Dezember 2005, 00:57:14 »

nochmal kurz zusammengefasst ist es mgl das User A im Verzeichnis A und B lesen kann, aber nur in A schreiben. Und User B in A und B lesen kann aber nur in B schreiben?

ich hab es so probiert:

<Directory /home/ftp>
       <Limit READ DIRS>
                   AllowAll
       </Limit>
</Directory>

<Directory /home/ftp/~>
        <Limit CWD MKDIR STOR>
                   AllowAll
          </Limit>
</Directory>

Leider funktioniert es nicht.
Gibt es eine Funktion mit der ich die userid als verzeichnis weitergeben kann? Wie wendet man die an?
 Hab schon viel gesucht doch leider nicht gefunden.
Ein klares Nein würde mir auch reichen aber ich würd eben gern sicher wissen ob es geht oder nicht.
Gespeichert
VolGas
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 771



Profil anzeigen
« Antwort #4 am: 17. Dezember 2005, 13:16:26 »

Hier geht es um ganz normale Unix-Zugriffsrechte.

Das Problem läßt sich sehr leicht lösen:
* jedem User eine eigene User-ID
* alle in einer gemeinsamen Gruppe
* in proftpd.conf: umask 033 022
* schon existierende Dateien/Verzeichnisse mit "chmod" entsprechend anpassen

Die Einstellung von "umask" ist "umgekehrt" wie chmod und bewirkt hier folgendes:
* Der Eigentümer einer Datei / eines Verzeichnisses hat immer vollen Zugriff.
* Dateien: die Gruppe darf lesen - nicht schreiben (2 = write), nicht ausführen (1 = execute).
* Verzeichnisse: die Gruppe darf öffnen und lesen, nicht schreiben (2 = write)
* Alle "anderen" (damit auch ein Webserver) haben die selben Rechte wie die Gruppe.
Falls die Dateien per Webserver erreichbar sein sollen kann man natürlich alle User in die Gruppe des Webservers "stecken".
Dann entfiele das Anlegen einer zusätzlichen Gruppe und damit die Userverwaltung.
"umask" wäre dann: 037 027

Damit dürfte alles wünschgemäß funktionieren...

mfg.
  VolGas
Gespeichert
Pampeldibuh
ProFTPD
*
Offline Offline

Beiträge: 8


Profil anzeigen
« Antwort #5 am: 17. Dezember 2005, 14:15:50 »

eigentlich hoffte ich es geht auch anders, z.b. per unix festgelegt ist das jeder schreiben kann und ich die schreibtrechte per proftpd begrenze damit ich mit einem admin also z.b. <Limit WRITE> AllowUser admin </Limit> alle dateien ändern kann. so kann ja nur derjenige dem die Datei gehört die datei ändern. Oder gibt es eine möglichkeit das zu ändern? als root einloggen?
Gespeichert
VolGas
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 771



Profil anzeigen
« Antwort #6 am: 17. Dezember 2005, 16:04:36 »

IMHO finde ich es übel, Benutzerrechte (die Unix-Rechte) angezeigt zu bekommen, die aber dann aus einem nicht sichtbaren Grund nicht funktionieren.

Man könnte jedoch auch mit den Unix-Rechten so etwas hinbekommen:
* User hat alle Rechte
* eine Admin-Gruppe darf auch alles
* alle anderen dürfen nur in die Verzeichnisse und Dateien lesen.

Aber von allem abgesehen, so etwas wie Du vorhin vorgeschlagen hattest, könnte funktionieren.
Es ist nur ein kleiner Fehler darin, dann könnte es funktionieren - getestet habe ich es aber nicht.

Code:
DefaultRoot /home/ftp
<Directory /home/ftp>
<Limit READ DIRS>
AllowAll
</Limit>
</Directory>

<Directory ~>
<Limit WRITE>
AllowAll
</Limit>
</Directory>

Das "~" steht für das Homeverzeichnis, nicht die User-ID.
Wenn also ProFTPD für jeden User das richtige Home-Verzeichnis (voller Pfad!) übermittelt bekommt, könnte das vielleicht sogar klappen.

Auch wenn ich es nicht gutheißen kann, aber jetzt interessiert es mich doch, ob es funktioniert.
Bitte um Rückmeldung!

mfg.
  VolGas
Gespeichert
VolGas
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 771



Profil anzeigen
« Antwort #7 am: 17. Dezember 2005, 16:36:50 »

Ich habe es doch noch ausprobiert und: es funktioniert tatsächlich!

Der User landet zwar zuerst in seinem Home-Verzeichnis, kann sich aber nach unten "durcharbeiten".
Sonst wie gewünscht.

mfg.
  VolGas
Gespeichert
Pampeldibuh
ProFTPD
*
Offline Offline

Beiträge: 8


Profil anzeigen
« Antwort #8 am: 17. Dezember 2005, 16:37:22 »

Danke vielmals, ich hatte da wohl einen Denkfehler mit dem ~. DAs mit der Rechteanzeige stimmt schon. aber ich werde im welcome explizit darauf hinweisen. Mit dem Admin der alles darf sollte es nun auch kein Problem sein wenn ich sein ~ verzeichnis eins höher anlege und die ausführbaren Kommandos eine höhere priorität besitzen.

Nochmal zusammengefaßt auch wenn die Methode nicht ganz orthodox ist und eventuell Sicherheitslücken hat, sowie auch die Rechteanzeige nicht stimmt.

Ein Auszug aus den wichtigen Einstellungen:
Code:

SQLHomeDirOnDemand            on   #wenn das homeverzeichnis aus der DB nicht existiert wird es angelegt
Umask                         000  #das Verzeichnis kann von allen beschrieben und gelöscht werden

DefaultRoot         /home/ftp     #Alle User werden in das Verzeichnis eingesperrt

<Directory /home/ftp>
       <Limit READ DIRS>     #alle dürfen lesen und verzeichnisse wechseln
                   AllowAll
       </Limit>
       <Limit WRITE>            #nur der user admin darf schreiben
                 AllowUser admin
                 DenyAll
       </Limit>
</Directory>
<Directory ~>   #der user darf in seinem home verzeichnis alles, außerdem darf der admin auch schreiben weil das
                       #WRITE aus dem darüberliegenden Verzeichnis gilt
       <Limit CWD MKD RTFR RNTO DELE RMD RETR STOR>
               AllowAll
       </Limit>
</Directory


Es ist aber wichtig das in der Datenbank die Homeverzeichnisse ordnungsgemäß eingetragen sind, d.h. /home/ftp/"username" für die user und NUR beim admin /home/ftp. Dann sollte es auch bei andern funktionieren, bei mir klappt es so wie ich will. Vielleicht gibt es ja auch eine möglichkeit die Rechteanzeige zu verstecken dann werden die user nicht irritiert?!
Gespeichert
VolGas
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 771



Profil anzeigen
« Antwort #9 am: 17. Dezember 2005, 17:09:56 »

Ich muß mich korrigieren: es funktioniert nicht!
Entweder man kann überall schreiben oder gar nicht - zumindest ist das so auf unserem Server.

Ich hatte vorhin ganz vergessen, daß noch ein weiterer Sicherungsmechanismus das Schreiben unterhalb eines Home-Verzeichnisses verhindert.

Sorry!

Vielleicht ist aber nur meine Vorgehensweise mit den "LIMIT"-Direktiven falsch - weiß es jemand besser?

mfg.
  VolGas
Gespeichert
Pampeldibuh
ProFTPD
*
Offline Offline

Beiträge: 8


Profil anzeigen
« Antwort #10 am: 17. Dezember 2005, 17:37:54 »

probier mal das:
Code:

<Directory /home/ftp>
<Limit READ DIRS>
AllowAll
</Limit>
<Limit WRITE>
AllowUser admin
DenyAll
</Limit>
</Directory>

<Directory ~>
<Limit CWD MKD RTFR RNTO DELE RMD RETR STOR>
AllowAll
</Limit>
</Directory>


Der befehl "Limit CWD MKD RTFR RNTO DELE RMD RETR STOR" ist höherwertig als das WRITE - DenyAll des darüberliegenden Verzeichnisses.

Bei mir funktionierts.
Gespeichert
VolGas
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 771



Profil anzeigen
« Antwort #11 am: 17. Dezember 2005, 17:55:53 »

Nö: Permission denied

Egal - ich will so etwas ja nicht und wir brauchen das auch nicht.

Aber schön, daß es bei Dir nun funktioniert.

mfg.
  VolGas
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.06 Sekunden mit 16 Zugriffen.