www.ProFTPD.de
13. März 2007, 18:51:03 *
Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?

Einloggen mit Benutzername, Passwort und Sitzungslänge
News: SMF - Neu installiert!
 
   Übersicht   Hilfe Suche Login Registrieren  
Seiten: [1]   Nach unten
  Drucken  
Autor Thema: Zugriff nur für Owner?  (Gelesen 459 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
mace
ProFTPD
*
Offline Offline

Beiträge: 6


Profil anzeigen
« 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 Zwinkernd
Gespeichert
VolGas
Moderator
ProFTPD
*****
Online Online

Beiträge: 771



Profil anzeigen
« Antwort #1 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
und zwei Doku's unter ->Support->Docs

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

mfg.
  VolGas
Gespeichert
mace
ProFTPD
*
Offline Offline

Beiträge: 6


Profil anzeigen
« Antwort #2 am: 28. Juli 2006, 11:47:20 »

des is scho klar Zwinkernd
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..
Gespeichert
VolGas
Moderator
ProFTPD
*****
Online Online

Beiträge: 771



Profil anzeigen
« Antwort #3 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
Gespeichert
mace
ProFTPD
*
Offline Offline

Beiträge: 6


Profil anzeigen
« Antwort #4 am: 28. Juli 2006, 12:22:55 »

ja aber ich muss aus dem home verzeichniss "eins nach oben" wechseln können
Gespeichert
VolGas
Moderator
ProFTPD
*****
Online Online

Beiträge: 771



Profil anzeigen
« Antwort #5 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 sein...

mfg.
  VolGas
Gespeichert
mace
ProFTPD
*
Offline Offline

Beiträge: 6


Profil anzeigen
« Antwort #6 am: 28. Juli 2006, 12:55:43 »

gut ich probies nochmal Zwinkernd

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  Smiley
 
Gespeichert
stonki
Administrator
ProFTPD
*****
Offline Offline

Beiträge: 1853


15318939
Profil anzeigen WWW E-Mail
« Antwort #7 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
Gespeichert

www.stonki.de:    the more I see, the more I know.......
www.proftpd.de:   Deutsche ProFTPD Dokumentation
www.krename.net:  Der Batch Renamer für KDE
www.kbarcode.net: Die Barcode Solution für KDE
mace
ProFTPD
*
Offline Offline

Beiträge: 6


Profil anzeigen
« Antwort #8 am: 28. Juli 2006, 15:18:11 »

ich werds ausprobiern.
danke Zwinkernd
Gespeichert
VolGas
Moderator
ProFTPD
*****
Online Online

Beiträge: 771



Profil anzeigen
« Antwort #9 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
Gespeichert
mace
ProFTPD
*
Offline Offline

Beiträge: 6


Profil anzeigen
« Antwort #10 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 Zwinkernd
Gespeichert
stonki
Administrator
ProFTPD
*****
Offline Offline

Beiträge: 1853


15318939
Profil anzeigen WWW E-Mail
« Antwort #11 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 Zwinkernd

nein. muss man nicht. kann  man per mod_sql machen
Gespeichert

www.stonki.de:    the more I see, the more I know.......
www.proftpd.de:   Deutsche ProFTPD Dokumentation
www.krename.net:  Der Batch Renamer für KDE
www.kbarcode.net: Die Barcode Solution für KDE
VolGas
Moderator
ProFTPD
*****
Online Online

Beiträge: 771



Profil anzeigen
« Antwort #12 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?    Grinsend

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
« Letzte Änderung: 29. Juli 2006, 05:50:18 von VolGas » Gespeichert
Seiten: [1]   Nach oben
  Drucken  
 
Gehe zu:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.2 | SMF © 2006-2007, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS
Seite erstellt in 0.118 Sekunden mit 15 Zugriffen.