www.ProFTPD.de

ProFTPD => ProFTPD - Deutsch => Thema gestartet von: omniByte am 20. Juni 2003, 11:36:25



Titel: Ein Server, jeder User ein Anderes verzeichnis
Beitrag von: omniByte am 20. Juni 2003, 11:36:25
Hallo,
da man laut RFC keine DNS basierten Virtual Host's machen kann, möchte ich dieses Problem mit den Benutzernamen lösen (Vielen Dank an stonki für diesen Tipp!!!)
Also, meine konkrete Frage:
Ich habe keine Virtual Hosts! Ich möchte nur einen Port benutzen! Das heisst, wenn sich der Benuzter www.spychernet.ch anmeldet soll der in's Verzeichnis /webserver/www.spychernet.ch gelangen... beim benutzer www.anderesite.ch in das verzeichnis /webserver/www.anderesite.ch... etc.
Alle anderen landen im Verzeichnis /ftp
Wie realisiere ich dies??????

Vielen Dank für Eure Hilfe

Thomas Spycher


Titel: Re: Ein Server, jeder User ein Anderes verzeichnis
Beitrag von: stonki am 20. Juni 2003, 12:40:24
Zitat von: "omniByte"
Hallo,
da man laut RFC keine DNS basierten Virtual Host's machen kann, möchte ich dieses Problem mit den Benutzernamen lösen (Vielen Dank an stonki für diesen Tipp!!!)
Also, meine konkrete Frage:
Ich habe keine Virtual Hosts! Ich möchte nur einen Port benutzen! Das heisst, wenn sich der Benuzter www.spychernet.ch anmeldet soll der in's Verzeichnis /webserver/www.spychernet.ch gelangen... beim benutzer www.anderesite.ch in das verzeichnis /webserver/www.anderesite.ch... etc.
Alle anderen landen im Verzeichnis /ftp
Wie realisiere ich dies??????


also nun mal Grundsätzlich:

Zu Deiner eigentlich Frage: Mini FAQ, Frage #1  :RTFM

Aber: Wie ich Deiner Frage entnehme, stellst Du ja Domains zur Verfügung. Gleich zu Beginn solltest Du überlegen, wieviel es denn werden. Weil wenn wir über mehr als 10 User (sprich Domains) reden oder darüber, dass Du ja wachsen wirst, dann schau Dir DRINGEND das mod_sql Modul an und eines der Frontends. Ausserdem willst Du mod_quotatab, oder bist Du so ein netter Hoster, der kein Limit hat ? (wenn nein, kann ich bei Dir 450 GB Daten hosten ??  :lol: ).

cu
stonki


Titel: mod_sql
Beitrag von: omnibyte am 20. Juni 2003, 13:03:41
mod_SQL läuft bei mir bereits!!!
im moment sind es zwei domains und rund 7 subdomains...
quotas sind nicht notwendig, da das hosten von mir geregelt wird! Also, konkret bei mir kann nicht IRGENDWER eine Domain hosten! die meisten Domains resp. subdomains verwende ich persönlich...
Zudem Platz habe ich mehr als 450 GB ;-) Also, ich kann dir ja gleich mal mein root passwort geben ;-)
und das mit dem miniFAQ hab ich sicher gelesen, konnte es aber nicht ganz auf mein Problem anwenden... Oder kann ich mit Variablen arbeiten?


Titel: Re: mod_sql
Beitrag von: stonki am 20. Juni 2003, 13:21:57
Zitat von: "omnibyte"
mod_SQL läuft bei mir bereits!!!
im moment sind es zwei domains und rund 7 subdomains...
quotas sind nicht notwendig, da das hosten von mir geregelt wird! Also, konkret bei mir kann nicht IRGENDWER eine Domain hosten! die meisten Domains resp. subdomains verwende ich persönlich...
Zudem Platz habe ich mehr als 450 GB ;-) Also, ich kann dir ja gleich mal mein root passwort geben ;-)
und das mit dem miniFAQ hab ich sicher gelesen, konnte es aber nicht ganz auf mein Problem anwenden... Oder kann ich mit Variablen arbeiten?


wenn Dein User sagen wir mal "www.stonki.de" heisst und das HomeDir von dem User "/srv/www/htdocs/www.stonki.de/" ist. Dann sperrt ein "Defaultroot ~" den user in sein HomeDir !!

cu
stonki


Titel: soweit so gut
Beitrag von: omnibyte am 20. Juni 2003, 14:20:37
Ja, das ist mir klar...

aber, ich habe andere Benutzer, welche auch ein existierendes Homeverzeichnis besitzen und die sollen nicht standartmässig damit verbunden werden! resp. diese dürfen nicht in das Homedir "gesperrt" werden...
HILFE!!!!


Titel: Ein Server, jeder User ein Anderes verzeichnis
Beitrag von: Wörsty am 20. Juni 2003, 14:34:55
1. Ich würde mod_sql nehmen, da kann man das Verzeichnis angeben.
    Gestern Abend habe ich ein Beispiel (http://www.proftpd.de/forum2/viewtopic.php?t=153#924) dafür gepostet (incl. SQL Dump)
2. Benutzerabhängig irgendwas machen: mod_ifsession


Titel: mod_ifsession
Beitrag von: omnibyte am 20. Juni 2003, 15:33:56
So, ich habe mir soeben mod_ifsession gezogen und mitkompiliert... Das teil scheint zu funktionieren! Aber die dokumentation sagt aus,
dass u.a. die Direktiven DefaultRoot und DefaultChdir im Kontainer von und NICHT funktionieren...
Klassen kann ich keine erstellen, da diese nur Ip oder Hostnamen bezogen sind... Also bringt mich dieses Modul auch nicht weiter!
Das mit mod_sql ist mir soweit auch klar! Aber ich habe zusätzlich zu meiner SQL Tabelle noch ein FTP-User-File (welches auch funktioniert) mit den www.irgendwas.ch usern drin (also, um die, die es hier geht).

Ich habe es geschaft, dass alle www.irgendwas.ch Benutzer nun in ihr Homeverzeichnis kommen... Dafür habe ich diese Benutzer in eine eigene Gruppe gestopf (gruppe webserver genannt).  

DefaultRoot /ftp
DefaultRoot ~ webserver

Nun das geht soweit... ABER, diese Benutzer müssen die Berechtigungen einer anderen Gruppe besitzen, da sie sonst nicht alles lesen resp. schreiben können...
Wie gehe ich denn nun vor?!

Tut mir leid, dass ich Euch alle mit meinem Problem nerve ;-)

Thomas Spycher


Titel: Re: mod_ifsession
Beitrag von: stonki am 20. Juni 2003, 17:07:44
Zitat von: "omnibyte"

Nun das geht soweit... ABER, diese Benutzer müssen die Berechtigungen einer anderen Gruppe besitzen, da sie sonst nicht alles lesen resp. schreiben können...
Wie gehe ich denn nun vor?!

Tut mir leid, dass ich Euch alle mit meinem Problem nerve ;-)

Thomas Spycher


Nein ! Nein ! Nein !

Du brauchst keine Ifsessions, Du brauchst keinen sonstwas. Alles was du brauchst (und ja verwendest) ist mod_sql. Ist doch nicht so schwer.....

Beispiel:
User1: HomeDir: /srv/www/www.stonki.de UID: 65534, GID: 65434
User2: HomeDir: /srv/www/www.proftpd.de UID: 65534, GID: 65434
User3: HomeDir: /srv/www/ UID: 65534, GID: 65434

In Diesem Fall kann der User3 in stonki.de und proftpd.de wechseln und dort alles machen. Alle laufen in diesem Beispiel als nobody.nogroup. Du kannst natürlich andere Werte nehmen.

cu
stonki


Titel: ja ja ja :)
Beitrag von: omnibyte am 20. Juni 2003, 17:43:36
Ja ja ja ja...

mod_SQL ist ja eine Alternative zu einem passwd-file... ich habe die www.irgendwas.ch user in diesem passwd FILE!!!!!!! (/etc/passwd-ftp) und die gehören auch einer gruppe an, sie haben ein homeverzeichnis etc!!!!!! alles ganz wunderbar!!!
Ich kann mich auch mit www.irgendwas.ch anmelden läuft! Ich kann mich auch mit einem benutzer aus der sql datenbank anmelden, läuft auch... es läuft alles!!!! Also ich verwende beides, passwd-file UND mod_sql...
Also: Die Benuzter in der Mysql Datenbank haben ein homeverzeichnis UND die www.irgendwas.ch benutzer haben ein homeverzeichnis!!!!!
ICH MÖCHTE:
Dass  die Benutzer aus der mysql Datenbank NICHT in ihrem homeverzeichnis landen, sondern IMMER in /ftp
Aber die www.irgendwas.ch benutzer sollen in ihrem homeverzeichnis landen...
Ein weiteres Problem: Die beiden benutzer (also aus der sql datenbank und die www.irgendwas.ch benutzer) sind in der selben gruppe!!! und müsses es auch sein, wegen den berächtigungen...
Wenn ich die www.irgendwas.ch benuzter in eine andere gruppe stecke, kann ich mein problem lösen mit:
defaultroot /ftp
defaultroot ~ webserver (wobei die www.irgendwas.ch benutzer nun in der gruppe webserver sind)

ABER, wenn ich dies so mache, hab ich ja ein berächtigungsproblem...

Also muss ich doch irgendwie unterscheiden können, wer sich nun angemeldet hat und das entsprechende defaultroot setzten:

bei den sql benutzer: defaultroot /ftp
und bei den www.irgendwas benutzern: defaultroot ~

resp. ALLE AUSSER www.irgendwas.ch benutzer landen in: defaultroot /ftp

Ok, sind alle Misverständnisse aus der Welt geschaft?! :-)

Vielen Dank

Thomas Spycher


Titel: Ein Server, jeder User ein Anderes verzeichnis
Beitrag von: copymaus am 20. Juni 2003, 18:22:24
Will mich nicht einmischen und ich bin ja selber ja noch am basteln.

Aber hast du es schon mal mit Virtual FTP-Servern unter Proftpd versucht?
Du kannst verschiedene Virtuelle Server auf deinen Hauptserver legen und jedem Virtuellen Server eigene Zugriffrechte erteilen. Genauso kannst du auch festlegen, welche User Zugriff darauf haben sollen.

Bevor ich versucht habe proftpd manuell zu konfigurieren (bei mir geht es im mom um eine Benutzerverwaltung mittels Ratio) habe ich Webmin benutzt um den Server einzurichten. Als Admin-Tool ist es absolut spitze und kann außerdem noch mehr als nur Proftpd konfigurieren. Jedoch scheitert webmin, wenn es um zusätzliche Module geht wie ifsession ratio oder quota.

Ich hoffe die Mods und Admin vergelten es mir wenn ich hier mal den link poste:

http://www.webmin.de

Ich hoffe, das ich diesmal auch mal jemanden helfen konnte.

CPM


Titel: danke
Beitrag von: omnibyte am 21. Juni 2003, 01:58:02
Danke für deine Tipps...

Aber das mit den virtual servern hab ich bereits durchgekaut! Es ist nicht möglich mehere Virtual FTP Server's anhand des DNS Namens zu unterscheiden. Nur durch ports und ipadressen... Aus diesem Grund muss ich diese Möglichkeit auschliessen!
Was webmin angeht, das habe ich bereits installiert und brauche es auch manchmal... Aber am besten ist immernoch der alte VI Editor ;-)

Wünsche einen schönen Sonntag

Spycher


Titel: Re: ja ja ja :)
Beitrag von: stonki am 21. Juni 2003, 10:38:13
Also einer von uns hat ein Brett vor dem Kopf. Das kann auch ich sein, aber schaun wir mal...


Zitat von: "omnibyte"

mod_SQL ist ja eine Alternative zu einem passwd-file... ich habe die www.irgendwas.ch user in diesem passwd FILE!!!!!!! (/etc/passwd-ftp) und die gehören auch einer gruppe an, sie haben ein homeverzeichnis etc!!!!!! alles ganz wunderbar!!!


Frage 1: Was spricht dagegen, nur die mod_sql Variante laufen zu lassen.

Zitat von: "omnibyte"

Also: Die Benuzter in der Mysql Datenbank haben ein homeverzeichnis UND die www.irgendwas.ch benutzer haben ein homeverzeichnis!!!!!
ICH MÖCHTE:
Dass  die Benutzer aus der mysql Datenbank NICHT in ihrem homeverzeichnis landen, sondern IMMER in /ftp


Frage 2: Wieso gibst Du den Usern in der SQL DB nicht einfach das Verzeichnis "/ftp" als HomeVerzeichnis ?

Zitat von: "omnibyte"

Ok, sind alle Misverständnisse aus der Welt geschaft?! :-)


Ich kann nicht behaupten, das ich ein Problem sehe...

cu
stonki


Titel: Re: ja ja ja :)
Beitrag von: stonki am 21. Juni 2003, 10:38:34
Also einer von uns hat ein Brett vor dem Kopf. Das kann auch ich sein, aber schaun wir mal...


Zitat von: "omnibyte"

mod_SQL ist ja eine Alternative zu einem passwd-file... ich habe die www.irgendwas.ch user in diesem passwd FILE!!!!!!! (/etc/passwd-ftp) und die gehören auch einer gruppe an, sie haben ein homeverzeichnis etc!!!!!! alles ganz wunderbar!!!


Frage 1: Was spricht dagegen, nur die mod_sql Variante laufen zu lassen.

Zitat von: "omnibyte"

Also: Die Benuzter in der Mysql Datenbank haben ein homeverzeichnis UND die www.irgendwas.ch benutzer haben ein homeverzeichnis!!!!!
ICH MÖCHTE:
Dass  die Benutzer aus der mysql Datenbank NICHT in ihrem homeverzeichnis landen, sondern IMMER in /ftp


Frage 2: Wieso gibst Du den Usern in der SQL DB nicht einfach das Verzeichnis "/ftp" als HomeVerzeichnis ?

Zitat von: "omnibyte"

Ok, sind alle Misverständnisse aus der Welt geschaft?! :-)


Ich kann nicht behaupten, das ich ein Problem sehe...

cu
stonki


Titel: Antworten
Beitrag von: omnibyte am 21. Juni 2003, 16:23:24
Antwort auf Frage 1:
in der modSQL Datenbank habe ich nur die Benutzer, welche sich über die Homepage anmelden könne...
Und diese User möchte ich nicht als "richtige" Unix Benutzer auf meinem System haben...
Ein paar andere Benutzer sind "richtige" Unix benutzer...

Antwort auf Frage 2:
Das hat den Grund, dass die Daten in der MySQL Datenbank durch PHP weiterverwendet werden...

Aber all diese Fragen, bringen mich kein bischen näher ans ziel...

Mein Problem ist und bleibt: Wie kann ich ein paar Usern in ein anderes verzeichnis einsperren als die anderen?!?!?!


Titel: Re: Antworten
Beitrag von: stonki am 21. Juni 2003, 16:44:46
Zitat von: "omnibyte"

Aber all diese Fragen, bringen mich kein bischen näher ans ziel...

Mein Problem ist und bleibt: Wie kann ich ein paar Usern in ein anderes verzeichnis einsperren als die anderen?!?!?!


ich will ja nicht kleinkariert wirken, aber ich denke, Du hast einen grossen Denkfehler. Zum einen kannst Du natürlich auch User in der mod_sql DB haben, die als wirkliche User existieren. Du musst nur die UID und GID von dem User in die SQL DB eintragen und schon geht es. (mache ich mit dem User "Stonki" bei mir auch so). Zum anderen: Ich weiss ja nicht, was Du mit dem HomeDir in PHP vor hast, aber wie wäre es schlicht und ergreifend mit einem weiteren Feld in der Tabelle ?

Ich verstehe nach wie vor überhaupt nicht, wieso Du z.B. bei dem User "www.domain.ch" nicht das HomeDir "/ftp" haben kannst... Sorry, aber das leuchtet mir alles nicht ein.

Ansonsten kannst Du unterschiedliche Gruppen nehmen (Du hattest aber mal geschrieben, daß Du das nicht willst). Sorry, aber Dein Problem leuchtet mir nach wie vor nicht ein. Ich sehe da nach wie vor keins.

cu
stonki

Anmerkung: Ich lasse mir das gerne noch einmal erklären, wieso es so nicht geht. Vielleicht versteht es Wörsty oder Claus ja...


Titel: Re: Antworten
Beitrag von: Wörsty am 21. Juni 2003, 20:21:22
Zitat von: "stonki"
Vielleicht versteht es Wörsty oder Claus ja...

Leider nein.  :?!