Mailinglisten-Archive |
On Wed, May 29, 2002 at 05:03:01PM +0200, Patrik Breitenmoser wrote: <snip> > 1. > Wie sollen die Rechte des htdocs verzeichniss gestalltet werden. > > mein Server läuft mit als wwwrun und gruppe nogroup > > wenn ich nun verschiedene user anlege, die ein Virtual Domain haben, habe > ich mir gedacht richte ich es folgendermassen ein > > /docroot/userdir1 owner user1.users > /docroot/userdir2 owner user2.users zu sowas sind gruppen da. den wwwrun-user in die wwwrun-gruppe packen und die htdoc-dirs auch an die wwwrun-gruppe geben. (user1.wwwrun, user2.wwwrun, usw) (achtung: die user selbst duerfen nicht in der wwwrun-gruppe sein!) die permissions dann auf u=rw,g=r,o-rwx fuer normale files und u=rwx,g=rx,o-rwx fuer directories. > wie kann ich es aber nun machen, das die user nur in ihrem verzeichniss > bleiben? prozesse (z.b. shells) die unter den einzelnen usern laufen, koennen auch nur auf ihre entsprechenden files zugreifen. probleme gibts aber, wenn die scripts im server laufen, da kann man fix auch mal hier und da ein file aufmachen und so zumindest code stehlen. vielleicht waere es auch moeglich, bestehende db-connections anderer user zu uebernehmen. was den safe_mode betrifft, so hab ich leider noch keine ahnung. kann vielleicht mal jemand aufzaehlen, was genau dieser alles bewirkt ? also wenn man das system wirklich sicher machen will, koennte man zwei wege gehen: a) man nutze die posix-security aus und lasse jeden vhost unter einer anderen UID laufen. geht nur mit manchen webservern. (IMHO z.b apache2) b) es wird PHP-seitig ein security-system implementiert, das im posix- style saemltiche permissions ordentlich checkt. jeder vhost bekaeme dann also eine UID zugeordnet, gegen diese gechecked wird. anpassen muss man dann erstmal saemtliche file-operationen (open, unlink, rename, ...) sowie alles was direkt darauf aufbaut (require, include). desweiteren waere es noch noetig, verschiedenste nicht-file-resourcen (shm, db-conns, etc) zu checken. vorteil waere, dass das ganze dann im prinzip in jedem server funktioniert, auch einem MT-basierten. damit kann man dann auch in multiuser-vhost-umgebungen auf MT- oder multiple-request-per-process- server umschwenken, was einen enormen performance-vorteil im zusammenhang mit verschiedensten caches bringt. beispielsweise kann man enorm davon profitieren, wenn man einzelne code-trees gleich fertig im speicher haelt, statt sie erst in bytecode irgentwohin zu packen ... ~-n -- Enrico Weigelt == metux ITS Webhosting ab 5 EUR/Monat. Server-Housing ab 50 EUR/Monat. www: http://www.metux.de/ phone: +49 36207 519931 email: contact_(at)_metux.de cellphone: +49 174 7066481
php::bar PHP Wiki - Listenarchive