www.ProFTPD.de

ProFTPD => ProFTPD - Deutsch => Thema gestartet von: mace am 27. Juli 2006, 17:04:42



Titel: Zugriff nur für Owner?
Beitrag von: mace am 27. Juli 2006, 17:04:42

Für einen "Datenserver" (MySql) für meine Schule bräuchte ich eben diese Zugriffsart..
zB. habe ich die Gruppen "Admins" "Lehrer" "Schueler", die schüler sind sagen wir mal user000 bis user500.

Wie kann ich festlegen das der user nur sein eigenes Verzeichniss öffnen, beschreiben, usw kann ohne das ich den Block 500 mal in die Config schreiben muss?

Code:
[...]
<Directory /var/ftp/user000/>
 <Limit ALL>
  DenyAll
 </Limit>
 <Limit ALL>
  AllowUser user000 ### oder eben der Owner...
  AllowGroup Admins
 </Limit>
</Directory>
[...]

Die Forensuche hat mir leider keine intresannten Hinweise gegeben, nur "AllowUser Owner" was aber dann nur den User Owner zulässt..

Hoffentlich fällt euch was ein ..
Bin für alle Vorschläge offen ;)


Titel: Re: Zugriff nur für Owner?
Beitrag von: VolGas am 28. Juli 2006, 06:00:12
Hallo!

Wenn man für jeden User die proftpd.conf ändern müßte - Wahnsinn!

Über ein Auth-Modul wird der User identifiziert und dessen Home-Verzeichnis definiert.
Mittels "DefaultRoot ~" wird dann der User in sein Verzeichnis "eingesperrt" - fertig!

Als Auth-Modul kann man das Standard Unix System nutzen, aber auch diverse andere wie
z.B. auch mySQL. Ein Beispiel dazu findest Du unter ->Support->Beispiel Konfigurationen (http://www.proftpd.de/Beispiel_Konfigurationen.25.0.html)
und zwei Doku's unter ->Support->Docs (http://www.proftpd.de/Docs.17.0.html)

Lesen, denken und ausprobieren mußt Du dann aber schon selber...   ;)

mfg.
  VolGas


Titel: Re: Zugriff nur für Owner?
Beitrag von: mace am 28. Juli 2006, 11:47:20
des is scho klar ;)
blos das mein defaultroot /var/ftp sein muss
und die homeverzeichnisse /var/ftp/userXXX sind..
wenn ich mich jetzt mit user001 anmelde komme ich ja trozdem in user002 nei..


Titel: Re: Zugriff nur für Owner?
Beitrag von: VolGas am 28. Juli 2006, 12:04:58
Scheint doch nicht ganz so klar zu sein: jeder User hat sein eigenes Verzeichnis,
sein Home-Verzeichnis. Dafür stellvertretend schreibt man ein "~", also "beamt"
"DefaultRoot ~" den User zuerst in sein Verzeichnis und "sperrt" (chroot) ihn
dann dort ein.

Du must nur jedem User sein richtiges Verzeichnis als Homedir zuweisen:

user001 -> var/ftp/user001
user002 -> var/ftp/user002
user003 -> var/ftp/user003
...

Jedes Auth-Modul kann das; evtl. kann man sich mit einem Script die Daten
einpflegen lassen.

mfg.
  VolGas


Titel: Re: Zugriff nur für Owner?
Beitrag von: mace am 28. Juli 2006, 12:22:55
ja aber ich muss aus dem home verzeichniss "eins nach oben" wechseln können


Titel: Re: Zugriff nur für Owner?
Beitrag von: VolGas am 28. Juli 2006, 12:38:27
Zitat
der user nur sein eigenes Verzeichniss öffnen, beschreiben, usw kann

? ? ?

Gut, wenn Die User nicht in ihr Verzeichnis eingesperrt sein sollen, dann fünktioniert
vielleicht "DefaultChdir ~" so wie Du das möchtest...

Eine Quelle der "Inspiration" kann übrigens die Liste der Direktiven (http://www.proftpd.de/Direktiven.54.0.html) sein...

mfg.
  VolGas


Titel: Re: Zugriff nur für Owner?
Beitrag von: mace am 28. Juli 2006, 12:55:43
gut ich probies nochmal ;)

ich hab die ordnerstruktur:

Code:
/var/ftp
  |- vorlagen/
  |- mail/
  |- user000/
  |- user001/
  |- user002/
  |- user005/

DefaultRoot ist  /var/ftp
HomeDir ist /vor/ftp/userXXX

in der config muss ich ja für jedes verzeichniss die rechte einstellen:
entweder so für jeden user
Code:
# Anfang der Schüler
<Directory /var/ftp/user000>
 <Limit ALL>
  DenyAll
 </Limit>
 <Limit ALL>
  AllowUser user000
  AllowGroup admins
 </Limit>
</Directory>

oder eben
Code:
# Anfang der Schüler
<Directory ~>
 <Limit ALL>
  DenyAll
 </Limit>
 <Limit ALL>
  AllowUser userXXX
  AllowGroup admins
 </Limit>
</Directory>
wobei ich für userXXX ja den betreffenden user brauche..

vieleicht verstest dus ja jetzt  :)
 


Titel: Re: Zugriff nur für Owner?
Beitrag von: stonki am 28. Juli 2006, 15:08:15
also ich fasse zusammen: Du brauchst einen User, der in sein Home Verzeichnis eingesperrt wird und dennoch zugriff auf zwei Verzeichnisse (mails und vorlagen) ausserhalb des CHroot hast ?

bei vielen Usern (wo ein mounten kein macht) würde ich mich nun mit vroot beschäftigen

http://www.castaglia.org/proftpd/doc/contrib/ProFTPD-mini-HOWTO-Chroot.html
http://www.castaglia.org/proftpd/modules/mod_vroot.html


Titel: Re: Zugriff nur für Owner?
Beitrag von: mace am 28. Juli 2006, 15:18:11
ich werds ausprobiern.
danke ;)


Titel: Re: Zugriff nur für Owner?
Beitrag von: VolGas am 28. Juli 2006, 16:27:22
So, wieder da und habe auch eine Idee: benutze das Rechtesystem des Filesystems
und gib jedem User seine eigene UID (z.B. user001 = 10001, user002 = 10002, ...)
und allen Usern die gleiche Gruppe.

Dann den User nach dem Einloggen in sein Verzeichnis "beamen", aber die "Einsperrung"
erfolgt (in diesem Fall) zwei Ebenen höher. Versuche das Ganze doch einmal mit:
DefaultRoot /var/ftp
DefaultChdir ~
Umask 0077
Dadurch, daß jeder User sein eigenes Verzeichnis mit seiner eigenen UID hat, können
sich die User nicht gegenseitig in den Verzeichnissen herumfummeln (keine Gruppenrechte!),
sehr wohl aber in den übergeordneten Verzeichnissen stöbern, deren User- und Gruppenrechte
entsprechend gesetzt sind.

Das Ganze ohne irgendwelche zusätzlichen Module, -zigfaches Mounten oder Tricks.

Ist das die Lösung, die Du gesucht hast?

mfg.
  VolGas


Titel: Re: Zugriff nur für Owner?
Beitrag von: mace am 28. Juli 2006, 23:40:44
dafür muss ich jetzt ja system user anlegen,
was mir eigentlich nicht so gefällt ..
aber sonst wärs ne gute lösung ;)


Titel: Re: Zugriff nur für Owner?
Beitrag von: stonki am 28. Juli 2006, 23:57:00
dafür muss ich jetzt ja system user anlegen,
was mir eigentlich nicht so gefällt ..
aber sonst wärs ne gute lösung ;)

nein. muss man nicht. kann  man per mod_sql machen


Titel: Re: Zugriff nur für Owner?
Beitrag von: VolGas am 29. Juli 2006, 05:40:41
@Stonki: Danke - so macht das schon fast Spaß...

@mace:

In meinen ersten drei Antworten wäre eigentlich schon alles zu entnehmen gewesen.
Man hätte eben nur alles miteinander kombinieren müssen. (=Denken, probieren...)
Nix für ungut, gell?    ;D

Dem Filesystem ist es völlig schnuppe, ob es zu den jeweiligen UID's/GID's eingetragene
Systemuser bzw. -gruppen gibt. Nur so kann das mit den virtuellen Usern funktionieren.
Und die kannst Du gut von einem Script anlegen lassen - das minimiert Deinen Aufwand.

Ich weiß nicht, ob die Direktiven, so wie von mir oben angegeben, tatsächlich funktionieren.
Das sollten sie aber - viel Erfolg damit!

mfg.
  VolGas