VolGas
|
|
« Antwort #1 am: 22. März
2007, 15:29:27 » |
|
Hallo!
Du hast völlig recht, das Thema
"Gruppen" ist verwirrend und es wird schon bei der
Original-Dokumentation (wenn man denn überhaupt davon
sprechen kann, aber das ist auch ein spezielles Kapitel für
sich) kaum darauf eingegangen.
Virtuelle User sind
nicht im System eingetragen, sondern werden davon unabhängig
an anderer Stelle definiert, z.B. auch in SQL. Die User-
und Gruppen-ID (UID/GID), die vom System und vom ProFTPD
genutzt werden können, sind nicht davon
abhängig, daß dazu auch ein entsprechender Systemuser bzw. ein
Gruppe angelegt wurde. Da es dem Filesystem "egal" ist, ob
zu einer bestimmten UID/GID einen entsprechenden User
bzw. Gruppe im System gibt, kann man beliebig ID's zuweisen
- wenn es sein muß, auch jedem User die selbe.
In der
Usertabelle gibt man schon alle für den FTP wichtigen
Parameter an: den Usernamen, das Passwort, UID/GID und das
Home-Verzeichnis. Die Zugriffsrechte im Filesystem werden
einzig durch die User- und Gruppen-ID definiert. Mehr
braucht es nicht und wird auch meist nicht
verwendet.
Die zusätzliche Gruppentabelle, die der
ProFTPD nutzen kann, kann man als ein weiteres
organisatorisches Mittel oder als Komplettierung des
Rechtesystems verstehen. Mit der Zuweisung einer GID ist der
User zwar schon einer (realen oder virtuellen) Gruppe
zugewiesen, mit der Gruppentabelle werden nun aber ebenfalls
auch die Gruppen- zuweisungen des Systems nachgebildet.
Damit können nicht nur virtuelle Gruppen definiert werden,
sondern es können jedem User zusätzlich -wie bei einem
Systemuser auch- weitere (supplementäre) Gruppen zugewiesen
werden.
In wie weit sich die Zuweisung von
supplementären Gruppen auch auf den Zugriff auf das Filesystem
auswirkt, weiß ich leider nicht. Ich gehe jedoch davon aus,
daß der ProFTPD mit der Definition von virtuellen
Gruppen das Rechtesystem vollständig nachbildet und sich
entsprechend auch mit allen Konsequenzen verhält.
Man
kann aber auch anderweitig die Gruppenzuweisungen, z.B. zur
Zugangskontrolle, nutzen: bei einem bestimmten virtuellen
Server dürfen nur die User der Gruppe A rein, die der Gruppe B
aber nicht. Oder: das Verhalten des Servers ändert sich bei
bestimmten Gruppen.
Zum Abschluß möchte ich noch einmal
anmerken: neben der recht aufwendigen und fehleranfälligen
Pflege der Gruppen- Tabelle sollte man sich auch bewußt
sein, daß diese Funktion auch deutlich Systemresourcen
verbraucht. Daher sollte man zuvor gut abwägen, ob man
wirklich die Gruppendefinition per SQL benötigt. In den
meisten Fällen ist dies nicht notwendig.
Ich hoffe,
ich konnte es Dir damit verständlicher
machen.
mfg. VolGas |