Hallo!
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.
Das kann nicht ausgehebelt oder umgangen, sondern nur weiter ausgebaut werden!
Daher ist Dein Wunsch keine Rechte im FileSystem verwenden zu wollen, nicht machbar.
Virtuelle User sind kein Problem, das funktioniert z.B. mit einem File strukturiert wie /etc/passwd
(mod_file), mySQL & PostgreSQL (mod_sql), cdb, LDAP, etc...
Da es dem FileSystem "egal" ist, ob zu einer bestimmten UID/GID einen entsprechenden User
bzw. Gruppe gibt, kann man beliebige ID's zuweisen - wenn es sein muß, auch jedem User die
selbe. Mit der Direktive
"DefaultRoot ~" beamt man jeden User in sein eigenes Home-Verzeichnis
und sperrt ihn damit auch gleichzeitig ein. (Stichwort: chroot)
Macht man das nicht, so kann jeder User im Filesystem "herumspazieren" und sich alles ansehen,
und wird nur durch die jeweiligen Userrechte des Systems zurückgehalten. Möchte man ein weniger
restriktives "chroot", d.h. eines, das Symlinks aus dem Gefängnis als Ausgang zuläßt, gibt es
noch das Modul für die "VRootEngine", das man mit in den ProFTPD hinzucompilieren lassen kann. (siehe ->
hier)
Vorsicht: wenn allerdings der User selbst Symlinks anlegen kann (Stichwort: Scriptsprachen wie
z.B. PHP), dann ist die VRootEngine auch kein Schuß Pulver mehr wert und alles war für die Katz'.
Am besten, Du überlegt Dir eine gute Dateistruktur, benutzt
"DefaultRoot" um den User auf den
untersten Level Deines Verzeichnisbaums zu begrenzen und schickst ihn dann mit ->
DefaultChdirals Ausgangspunkt in sein eigenes Homeverzeichnis, von dem aus er dann herumwandern kann.
Sonst sehe ich keine andere Möglichkeit das so zu realisieren, wie Du Dir das vorsgestellt hast.
Ich hoffe dennoch, daß ich Dir damit weiterhelfen konnte.
mfg.
VolGas