www.ProFTPD.de

ProFTPD => ProFTPD - Deutsch => Thema gestartet von: Pampeldibuh am 15. Dezember 2005, 23:55:37



Titel: Brauche Hilfe bei Proftpd mit mysql
Beitrag von: Pampeldibuh 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.


Titel: Re: Brauche Hilfe bei Proftpd mit mysql
Beitrag von: stonki am 16. Dezember 2005, 08:10:02
Forumsuche nach Debian & mod_sql... Probleme...


Titel: Brauche Hilfe bei Proftpd mit mysql
Beitrag von: Pampeldibuh 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?


Titel: Brauche Hilfe bei Proftpd mit mysql
Beitrag von: Pampeldibuh 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.


Titel: Brauche Hilfe bei Proftpd mit mysql
Beitrag von: VolGas 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


Titel: Brauche Hilfe bei Proftpd mit mysql
Beitrag von: Pampeldibuh 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?


Titel: Brauche Hilfe bei Proftpd mit mysql
Beitrag von: VolGas 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


Titel: Nachtrag
Beitrag von: VolGas 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


Titel: Brauche Hilfe bei Proftpd mit mysql
Beitrag von: Pampeldibuh 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?!


Titel: Brauche Hilfe bei Proftpd mit mysql
Beitrag von: VolGas 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


Titel: Brauche Hilfe bei Proftpd mit mysql
Beitrag von: Pampeldibuh 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.


Titel: Brauche Hilfe bei Proftpd mit mysql
Beitrag von: VolGas 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