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