www.ProFTPD.de

ProFTPD => ProFTPD - Deutsch => Thema gestartet von: Bagstone am 12. November 2006, 18:13:40



Titel: SQL-Userverwaltung + eingeschränkte Rechte?
Beitrag von: Bagstone am 12. November 2006, 18:13:40
Hallo,

ich hab das Forum lange durchstöbert aber nichts zu diesem Thema gefunden.
Als Auth soll mein FTP-Server SQL benutzen. Allerdings ist mir, nachdem ich das alles eingestellt hatte, aufgefallen, das die Verzeichnisse dann die Rechte read und execute für alle Nutzer haben müssen, also "chmod o=rx ftp-dir" quasi notwendig ist.

Da auf dem Server (ein VServer mit Debian, Sarge) sind allerdings SSH-User, die nicht unbedingt in diesen FTP-Verzeichnissen browsen können sollen, darum ist diese Einstellung... doof ;-)
Andererseits besteht ja kein Zusammenhang zwischen der UserID/GroupID des Systems und der, die ich für den FTP-User in der SQL-DB angegeben habe.



Also die Frage: Wie bringt man einen Server mit SQL-Auth (only) zum laufen, der in Verzeichnissen arbeitet, die "chmod o= directory" Rechte haben? :-)


Titel: Re: SQL-Userverwaltung + eingeschränkte Rechte?
Beitrag von: VolGas am 12. November 2006, 23:30:23
Hallo!

Daß alleine SQL zum Authentifizieren genutzt wird, läßt sich leicht mit der Direktive
"AuthOrder mod_sql.c" bewerkstelligen. Es stimmt auch, daß beliebige UID/GID alleine
vom FileSystem, also ohne Unterstützung vom restlichen System, realisiert werden können.

Aber:
der ProFTPD ist wie eine Usershell zu betrachten: nach dem Einloggen hat der neu gestartete,
individuelle Prozess die selbe User- und Group-ID wie der eingeloggte User - alle Root-Rechte
wurden aufgegeben. Damit hat der ProFTPD nur noch die selben Zugriffsrechte wie der User.
Egal, ob es zu der jeweiligen UID/GID einen Systemeintrag gibt oder nicht.
Das kann nicht ausgehebelt oder umgangen, sondern nur weiter ausgebaut werden!

Du kommst also um eine "raffinierte" Rechtevergabe nicht herum...
Was Du machen könntest: die Verzeichnisse zugänglich, aber "blind" machen.
Wer dann per SSH irgendwo zugreifen möchte, muß schon wissen, was er tut.
home            root    ftpuser     rwx--x---
  |-user1       10001   ftpuser     rwx--x---
    |-...       10001   ftpuser     rwxr-x---
  |-user2       10002   ftpuser     rwx--x---
    |-...       10002   ftpuser     rwxr-x---
...
Jeder User sein Verzeichnis und seine UID, alle (ggf. auch der Apache) in Gruppe ftpuser.
Kommt jemand per SSH, kann er in seinem Verzeichnis mit seiner UID alles sehen, ändern, usw.
Als Mitglied der Gruppe kann er zwar in jedes User-Verzeichnis, aber sobald er aus seinem Verzeichnis
draußen ist, bekommt er schon einmal kein Inhaltsverzeichnis mehr angezeigt. Er kann also nicht
einmal sehen, welche Userverzeichnisse es in (bei diesem Beispiel) "/home" gibt: er ist blind!
Wenn man jedes Userverzeichnis ein wenig anders aufbaut, erhöht das den Level ungemein...   ;)

Ich hoffe, das hat Dir ein wenig weitergeholfen!

mfg.
  VolGas


Titel: Re: SQL-Userverwaltung + eingeschränkte Rechte?
Beitrag von: Bagstone am 13. November 2006, 20:23:53
Danke dir für die ausführliche Antwort, hat mir sehr geholfen :-)

Hab den Dreh dann heute rausbekommen, habe es jetzt so gemacht, das alle User in der SQL-Tabelle die gleiche ID bekommen wie die ID des Apache-Nutzers im System. Damit kann ich alle Verzeichnisse mit "700"- und Dateien mit "600"-Rechten ausstatten und es funktioniert alles genau so, wie es soll.

Komischerweise kann man in diesem Forum weder Beiträge editieren noch besteht die Möglichkeit einer Thema-Änderung. Ich wollte eigentlich ein [gelöst] dahiner schreiben bzw. das Topic bzgl. meines zweiten Problems ändern... aber nungut, nehmen wir diesen Thread direkt mal um das letzte Problem zu addressieren.

Kein schlimmes, aber ein nerviges:

Wann immer ich auf den FTP connecte und eine Datei hochladen will (egal in welches Verzeichnis), schlägt das fehl. Wenn ich dann eine zweite Dateiübertragung (egal ob eine andere oder die gleiche) starte, funktioniert alles reibungslos. Aber dieses "freischießen" der Leitung mit dem ersten fehlschlagenden Transfer ist natürlich kein Dauerzustand ;-)
Hab schon im Forum und bei Onkel Google gesucht, aber nichts gefunden.

FTP-Log:
Code:
(IP) ftp-user nobody [13/Nov/2006:19:53:03 +0100] "AUTH TLS" - -
(IP) ftp-user nobody [13/Nov/2006:19:53:03 +0100] "PBSZ 0" 200 -
(IP) ftp-user nobody [13/Nov/2006:19:53:03 +0100] "USER ftp-user" 331 -
(IP) ftp-user ftp-user [13/Nov/2006:19:53:03 +0100] "PASS (hidden)" 230 -
(IP) ftp-user ftp-user [13/Nov/2006:19:53:03 +0100] "SYST" 215 -
(IP) ftp-user ftp-user [13/Nov/2006:19:53:03 +0100] "REST 100" 501 -
(IP) ftp-user ftp-user [13/Nov/2006:19:53:04 +0100] "PWD" 257 -
(IP) ftp-user ftp-user [13/Nov/2006:19:53:04 +0100] "TYPE A" 200 -
(IP) ftp-user ftp-user [13/Nov/2006:19:53:04 +0100] "PROT P" 200 -
(IP) ftp-user ftp-user [13/Nov/2006:19:53:04 +0100] "PASV" 227 -
(IP) ftp-user ftp-user [13/Nov/2006:19:53:04 +0100] "LIST" 226 122
(IP) ftp-user ftp-user [13/Nov/2006:19:53:06 +0100] "SIZE Readme.txt" 550 -
(IP) ftp-user ftp-user [13/Nov/2006:19:53:06 +0100] "PASV" 227 -
(IP) ftp-user ftp-user [13/Nov/2006:19:53:07 +0100] "STOR Readme.txt" 550 -
(IP) ftp-user ftp-user [13/Nov/2006:19:53:07 +0100] "PASV" 227 -
(IP) ftp-user ftp-user [13/Nov/2006:19:53:07 +0100] "LIST" 226 122
(IP) ftp-user ftp-user [13/Nov/2006:19:53:08 +0100] "SIZE Readme.txt" 550 -
(IP) ftp-user ftp-user [13/Nov/2006:19:53:08 +0100] "PASV" 227 -
(IP) ftp-user ftp-user [13/Nov/2006:19:53:09 +0100] "STOR Readme.txt" 226 1508
(IP) ftp-user ftp-user [13/Nov/2006:19:53:09 +0100] "PASV" 227 -
(IP) ftp-user ftp-user [13/Nov/2006:19:53:09 +0100] "LIST" 226 188
(IP) ftp-user ftp-user [13/Nov/2006:19:53:10 +0100] "QUIT" 221 -


Titel: Re: SQL-Userverwaltung + eingeschränkte Rechte?
Beitrag von: VolGas am 14. November 2006, 18:05:39
Schön, daß Du damit nun weitergekommen bist.
Warum Du nun aber allen Usern die selbe User-ID gibst, kann ich nicht ganz nachvollziehen.
Muß ich aber auch nicht.

Mit dem Forum ist eigentlich gut, daß es sich so verhält: ich galube, daß ich auch gewollt so.
Nachträglich das Thema ändern macht ja die ersten Postings, die das Thema ja haben, nicht
ungeschehen. Zum Schluß hat man mehrere Themen in einem Thread, dessen angezeigtes
Thema in der Forenübersicht mit den Postings erst ganz zum Schluß wieder übereinstimmt.
Was für ein Durcheinander, wer soll da noch durchblicken?

Wenn Du ein Thema beenden willst, dann kannst Du dieses ggf. schliesen oder offen lassen.
Ein neues Thema - ein neuer Thread. Ganz einfach.

Das merkwürdige Verhalten beim Upload ist mir auch ein Rätsel.
Versuche einmal einen anderen FTP-Client und schalte ggf auch einmal das TLS aus.
Ist irgendwo noch eine Firewall oder eine NAT (Router) dazwischen, die mit den
highports oder der IP irgendwie nicht klarkommen?

Kläre das zuerst bitte mal ab.
Sonst starte den ProFTPD in Debug-Modus und poste das debuglog von der aktuellen Session.
(nicht von Anfang an!)

mfg.
  VolGas