Hallo, nachdem ich in entsprechenden NGs keine Antwort bekommen habe, frag ich euch mal, vielleicht kann mir jemand helfen: ich hab nen apache (SuSE 6.4) installiert und würde gerne 2 Dinge wissen: 1. wem sollen die jeweiligen Verzeichnisse einer virtuellen Domain gehören? Apache oder dem User? wie sind die Zugriffsrechte zu setzen (ugo)? 2. ich möchte, dass User von außen per FTP Seiten hochladen können. Dazu hab ich in der (etc/passwd das stammverzeichnis des virtuellen hosts als homeverzeichnis des users eingetragen. Funktioniert wunderbar, aber: Wie kann ich verhindern, dass ein per FTP angemeldeter User in die übergeordnete Verzeichnisstruktor kommt. Ich möchte, dass er nur an die Sachen kommt, die in seinem www-Verzeichnis liegen, der Rest des Rechners soll für ihn unsichtbar sein. Danke C.H. --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hi Clemens,
From: Clemens Hermann
nachdem ich in entsprechenden NGs keine Antwort bekommen habe, frag ich euch mal, vielleicht kann mir jemand helfen:
ich hab nen apache (SuSE 6.4) installiert und würde gerne 2 Dinge wissen:
1. wem sollen die jeweiligen Verzeichnisse einer virtuellen Domain gehören? Apache oder dem User? wie sind die Zugriffsrechte zu setzen (ugo)?
Dem user, denn der benoetigt ja die FTP-Berechtigung. Die permissions sind so zu setzen, das moeglichst nur das freigegeben ist was notwendig ist. Also, wenn z.B. alle ftpuser lesenden Zugriff benoetigen so ist das entsprechend zu setzen. Ansonsten eben nicht.
2. ich möchte, dass User von außen per FTP Seiten hochladen können. Dazu hab ich in der (etc/passwd das stammverzeichnis des virtuellen hosts als homeverzeichnis des users eingetragen. Funktioniert wunderbar, aber: Wie kann ich verhindern, dass ein per FTP angemeldeter User in die übergeordnete Verzeichnisstruktor kommt. Ich möchte, dass er nur an die Sachen kommt, die in seinem www-Verzeichnis liegen, der Rest des Rechners soll für ihn unsichtbar sein.
Der apache hat kein homeverzeichniss, bei mir steht da in der passwd /tmp. Die einzelnen (FTP)user haben als Stammverzeichniss das Verzeichniss Ihrer Site. Dazu gab's diese Woche auch schon mal einen thread. by Joerg --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hi Clemens,
Hallo Jörg, erstmal danke für die Tips.
1. wem sollen die jeweiligen Verzeichnisse einer virtuellen Domain gehören? Apache oder dem User? wie sind die Zugriffsrechte zu setzen (ugo)?
Dem user, denn der benoetigt ja die FTP-Berechtigung. Die permissions sind so zu setzen, das moeglichst nur das freigegeben ist was notwendig ist. Also, wenn z.B. alle ftpuser lesenden Zugriff benoetigen so ist das entsprechend zu setzen. Ansonsten eben nicht.
Meine Idee war folgende: Ftp-user ist nicht gleich Mail user (kriegt nen eigenen username). dann sind alle ftp-user und der apache-user in der Gruppe Web. der User (FTP) kriegt dann rwx, die Gruppe rx, alle anderen garnix, da es ja für jede Domain nen eigenen FTP-User gibt. Wäre das dann o.k.?
Der apache hat kein homeverzeichniss, bei mir steht da in der passwd /tmp.
klar, ich meinte ja die Homeverzeichnisser der user!
Die einzelnen (FTP)user haben als Stammverzeichniss das Verzeichniss Ihrer Site. Dazu gab's diese Woche auch schon mal einen thread.
den hab ich auch gelesen, aber mein Problem ist ja folgendes: Wenn sich ein User per FTP anmeldet, dann ist es (entgegen einer Aussage in dem Thread) möglich, dass sich der user bis ins Rootdirectory des Rechners durchhangeln kann und da dann auch logs u.ä. einsehen kann. Daher möchte ich, dass kein user per FTP login in der Verzeichnisebene höher kommt als sein home-Verzeichnis (also das www-Directory). Ähnlich wie beim Apache, wenn man in der httpd.conf ein "DocumentRoot" festlegt, da kommt man dann ja auch nur noch an alles, was unterhalb dieses Verzeichnisses liegt und es sieht so aus, als ob es drüber nix gibt. genau das hätte ich bei FTP auch gerne.
by Joerg
Gruss C.H. --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
wie beim Apache, wenn man in der httpd.conf ein "DocumentRoot" festlegt, da kommt man dann ja auch nur noch an alles, was unterhalb dieses Verzeichnisses liegt und es sieht so aus, als ob es drüber nix gibt. genau das hätte ich bei FTP auch gerne.
gibt es bei ProFTP ! cu tonki --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Meine Idee war folgende: Ftp-user ist nicht gleich Mail user (kriegt nen eigenen username). dann sind alle ftp-user und der apache-user in der Gruppe Web. der User (FTP) kriegt dann rwx, die Gruppe rx, alle anderen garnix, da es ja für jede Domain nen eigenen FTP-User gibt. Wäre das dann o.k.?
Der apache hat kein homeverzeichniss, bei mir steht da in der
Hi Clemens,
From: Clemens Hermann
/tmp.
klar, ich meinte ja die Homeverzeichnisser der user!
Die einzelnen (FTP)user haben als Stammverzeichniss das Verzeichniss Ihrer Site. Dazu gab's diese Woche auch schon mal einen thread.
den hab ich auch gelesen, aber mein Problem ist ja folgendes: Wenn sich ein User per FTP anmeldet, dann ist es (entgegen einer Aussage in dem Thread) möglich, dass sich der user bis ins Rootdirectory des Rechners durchhangeln kann und da dann auch logs u.ä. einsehen kann. Daher möchte ich, dass kein user per FTP login in der Verzeichnisebene höher kommt als sein home-Verzeichnis (also das www-Directory). Ähnlich wie beim Apache, wenn man in der httpd.conf ein "DocumentRoot" festlegt, da kommt man dann ja auch nur noch an alles, was unterhalb dieses Verzeichnisses liegt und es sieht so aus, als ob es drüber nix gibt. genau das hätte ich bei FTP auch gerne.
ok, ich beschreib jetzt mal kurz wie's bei mir aussieht. Installierte Prog's, apache; proftp; Dann gibt es ein Verzeichniss /usr/local/httpd/htdocs. Darin hab ich links liegen die folgendermassen aussehen. www.irgendeinedomain.de zeigt auf /usr/local/share/DOMAINEN/irgendeinedomain. Fuer jede domain gibt es einen user mit dem Namen ftp-irgendeinedomain. Das homeverzeichniss dieses users ist /usr/local/share/DOMAINEN/irgendeinedomaine. Diese Verzeichniss hat die gewuenschten Rechte. In diesem Verzeichniss liegen dann folgende Verzeichnisse: data -> fuer die html Seiten cgi-bin -> fuer cgi's log -> fuer die logfiles Der user hat bei mir keine Loginshell. In der passwd ist dann als shel /bin/false eingetragen. Dann hab ich fuer den user einen ftp-Zugang mit proftp eingerichtet. Dort kann ich speziell fuer jeden user die Verzeichnisse und Rechte eintragen. Und, da kommt kein user auf Verzeichnisse unterhalb des eigenen, es sei denn ich hab's Ihm erlaubt. Ach ja, der appache lauft als wwwrun in der Gruppe nobody. Die FTP-User als jeweiliger user und als Gruppe ftpusers, um eventuell auch Verzeichnisse nur fuer diese Gruppe freigeben zu koennen. Mail gibt es fuer keinen ftp-user. by Joerg --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo Joerg,
ok, ich beschreib jetzt mal kurz wie's bei mir aussieht. Installierte Prog's, apache; proftp; Dann gibt es ein Verzeichniss /usr/local/httpd/htdocs. Darin hab ich links liegen die folgendermassen aussehen. www.irgendeinedomain.de zeigt auf /usr/local/share/DOMAINEN/irgendeinedomain.
da es bei mir recht viele Domains sind und ich sie gern vom Rest "entkoppelt" hätte liegen alle Doms unter /www/www.domainname.de/...
Fuer jede domain gibt es einen user mit dem Namen ftp-irgendeinedomain. Das homeverzeichniss dieses users ist /usr/local/share/DOMAINEN/irgendeinedomaine. Diese Verzeichniss hat die gewuenschten Rechte.
welche Rechte genau? Genau das suche ich ;-) ============================================ ============================================
In diesem Verzeichniss liegen dann folgende Verzeichnisse: data -> fuer die html Seiten cgi-bin -> fuer cgi's
cgi-bin liegt auch woanders, damit man es besser kontrollieren kann.
log -> fuer die logfiles
die liegen für Domains getrennt im /var/log/httpd/ tree, damit sich niemand an den Logs zu schaffen macht, gehen in Rohform eh niemanden was an. nachdem die Logs von einem Perl-Script ausgewertet wurden stehen sie dem User in Form einer HTML-Seite zur Verfügung.
Der user hat bei mir keine Loginshell. In der passwd ist dann als shel /bin/false eingetragen. Dann hab ich fuer den user einen ftp-Zugang mit proftp eingerichtet. Dort kann ich speziell fuer jeden user die Verzeichnisse und Rechte eintragen.
hab mir proftp angeschaut, scheint genau das zu sein was ich suche, coooooool ;-)
Und, da kommt kein user auf Verzeichnisse unterhalb des eigenen, es sei denn ich hab's Ihm erlaubt. Ach ja, der appache lauft als wwwrun in der Gruppe nobody.
SuSE Standard, ist aber laut der "Apache Bibel" aus Sicherheitsgründen nicht ratsam. Bei Interesse kann ich den Absatz posten. Ferner: Wenn das Verzeichnis dem user gehört, apache aber in einer anderen Gruppe als der user ist (apache wird ja nicht Mitglied Deiner ftpusers Gruppe sein, oder?) dann kannst Du den Zugriff für Apache ja nur über die Rechte für others steuern, oder? Wäre es nicht besser, Apache zusammen mit den ftp-usern in eine Gruppe zu nehmen, um die Rechte für den Rest der Welt auf die www Verzeichnisse möglichst zu beschneiden?
Die FTP-User als jeweiliger user und als Gruppe ftpusers, um eventuell auch Verzeichnisse nur fuer diese Gruppe freigeben zu koennen. Mail gibt es fuer keinen ftp-user.
hatte ich auch vor.
by
tschüss und danke
Joerg
C.H. --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo nochmal,
Installierte Prog's, apache; proftp;
wie kann ich bei proftp wenn ich die user/group files wie empfohlen andernorts lagere und die FTP User nicht in die normale passwd integriere das Passwort von neuen usern setzen? Klartext ist wohl eher schlecht und passwd funktioniert nicht, da die files woanders liegen. Danke C.H. --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
wie kann ich bei proftp wenn ich die user/group files wie empfohlen andernorts lagere und die FTP User nicht in die normale passwd integriere das Passwort von neuen usern setzen? Klartext ist wohl eher schlecht und passwd funktioniert nicht, da die files woanders
Hi Clemens,
From: Clemens Hermann
participants (3)
-
haribeau@gmx.net
-
j.zimmermann@xsiteing.de
-
Stefan.Onken@difi.de