![]() |
![]() |
|
|
|||||||
| Linux, UNIX, Open Source Rat & Tat bei Problemen und Fragen rund um GNU/Linux, BSD und sonstige UNIXe |
![]() |
|
|
Themen-Optionen | Ansicht |
|
|
#1 |
|
Inventar
![]() Registriert seit: 23.09.2000
Beiträge: 2.321
|
Hallo!
Ich stell das mal hier rein weil es auf unserem Debianserver läuft .Um das bösartige Nutzen von Skripten zu verhindern, aber dennoch http://URL/~USER - Webspace anzubieten versuche ich gerade, dort liegende PHP-Sachen auf eben jenes Verzeichnis zu beschränken. Ein: <Directory /home/*/public_html> AllowOverride FileInfo AuthConfig Limit Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec php_admin_value open_basedir /home/*/public_html/ ...... verhindert leider JEDE Art von PHP, ein php_admin_value open_basedir . wie IMHO hier suggeriert wird: http://php3.de/manual/de/configuration.php Zitat:" Der Wert . gibt an, dass das Verzeichnis, in dem das Skript abgespeichert ist, als Basis-Verzeichnis genutzt wird." lässt aber alles weiterhin geschehen, also auch eine /home/user/public_html/index.php die mittels system()-Call Sachen aus dem System ausliest, mit den Rechten des Apache..... Wo genau mach ich hier den Fehler, wo steh ich auf der Leitung,warum sperrt dieser Admin_value die Skripte nicht dort ein, lässt sie aber ausführen wenn sie lokal sind. Momentan wird bei Variante 1 ja sogar ein "echo test" verhindert...... Besten Dank im voraus für Tips oder ggfs. ein Verschieben in das entsprechende Forum (Internet,Programmieren,Software??) Ciao, Steve
____________________________________
-- www.cargal.org GnuPG-key-ID: 0x051422A0 \"Be the change you want to see in the world\"-Mahatma Gandhi Jabber-ID:lotussteve@cargal.org |
|
|
|
|
|
#2 | |
|
verXENt
![]() |
Zitat:
Um den Safe Mode zu verwenden muss das System allerdings relativ sauber (User Rechte) konfiguriert sein, sonst kommt es zu diversen Nebeneffekten wie z.B. Upload Problem (Ja, Upload funktioniert auch bei Safe Mode). |
|
|
|
|
|
|
#3 | |
|
Inventar
![]() Registriert seit: 23.09.2000
Beiträge: 2.321
|
Zitat:
Safe Mode kommt leider aufgrund von z.B. http://gallery.sf.net nicht in Frage .Es würde mir wirklich reichen wenn die Leute in ihren public_html PHP-Sachen machen können die auf dieses Verzeichnis beschränkt sind. Diesen Zweck würde open_basedir erfüllen, leider hab ich da scheints ein Syntaxproblem.....die von uns allen stark frequentierte Suchmaschine spuckt leider auch nichts hilfreiches aus. Das gemeine ist ja, daß die Anleitung im PHP-Manual genau meinen Fall lösen sollte: open_basedir string Beschränkt die Dateien, die von PHP geöffnet werden können, auf Dateien im angegebenen Verzeichnisbaum. Wenn ein Skript versucht, eine Datei mit z.B. fopen oder gzopen zu öffnen, wird der Ort der Datei überprüft. Wenn sich die Datei außerhalb des spezifizierten Verzeichnisses befindet, wird PHP sie nicht öffnen. Alle symbolischen Links sind hier mit eingeschlossen, so dass es auch nicht möglich ist, dieses Verbot mittels symlink zu umgehen. Der Wert . gibt an, dass das Verzeichnis, in dem das Skript abgespeichert ist, als Basis-Verzeichnis genutzt wird. Unter Windows werden Verzeichnisse mit Semikolon getrennt, unter allen anderen Betriebssystemen mit einem Doppelpunkt. Wenn PHP als Modul in den Apache einkompiliert wurde, werden open_basedir paths von "Eltern"-Verzeichnissen nun automatisch vererbt. Anmerkung: Die Unterstützung für multiple Verzeichnisse wurde in Version 3.0.7 hinzugefügt. Die Standardeinstellung ist, alle Dateien zum Parsen freizugeben. Und in einem Kommentar steht: In response to MartinPierre, open_basedir doesn't require Safe Mode to be on. Have you tried using it instead of Safe Mode? As Daniel has shown above, open_basedir can be set by VirtualHost, Location, or Directory and only affects the scripts within those areas. Und genau das mache ich, ich setze es im <DIRECTORY> der public_html. Nur der richtige String muss es jetzt noch sein Ciao, Steve
____________________________________
-- www.cargal.org GnuPG-key-ID: 0x051422A0 \"Be the change you want to see in the world\"-Mahatma Gandhi Jabber-ID:lotussteve@cargal.org |
|
|
|
|
|
|
#4 |
|
Inventar
![]() Registriert seit: 05.01.2000
Beiträge: 3.812
|
ein chmod 745 $user ist auch nicht schlecht.
Sloter |
|
|
|
|
|
#5 | |
|
Inventar
![]() Registriert seit: 23.09.2000
Beiträge: 2.321
|
Zitat:
Ein --verbose wäre bitte nicht schlecht, was meinst du damit genau? ![]() Was ändert das an der Situation daß er nur ein .php schreiben muss und das dann mit seinem Browser öffnet? Ciao, Steve
____________________________________
-- www.cargal.org GnuPG-key-ID: 0x051422A0 \"Be the change you want to see in the world\"-Mahatma Gandhi Jabber-ID:lotussteve@cargal.org |
|
|
|
|
|
|
#6 |
|
Inventar
![]() Registriert seit: 05.01.2000
Beiträge: 3.812
|
Per Browser öffnen schon, aber PHP kann nicht in ein anderes $user reingucken/schreiben/.
Den VirtualHost mußt du natürlich einen user/group mitgeben. Mach PHP sicher, ich nütze dann Perl ;-) Sloter |
|
|
|
|
|
#7 | |
|
Inventar
![]() Registriert seit: 23.09.2000
Beiträge: 2.321
|
Zitat:
Hat sich im Jabber aufgeklärt daß ich die mod_userdir und keine Vhosts meine, wir werden das einfach restriktiver lösen ![]() Ciao, Steve
____________________________________
-- www.cargal.org GnuPG-key-ID: 0x051422A0 \"Be the change you want to see in the world\"-Mahatma Gandhi Jabber-ID:lotussteve@cargal.org |
|
|
|
|
|
|
#8 |
|
Inventar
![]() Registriert seit: 23.09.2000
Beiträge: 2.321
|
Hallo!
Da das Thema in der Forumsübersicht nicht zu sehen ist (?!) poste ich mal rein daß ich nicht viel weiter gekommen bin: Das mod_userdir werde ich wieder ausbauen, ich schaffe es aber auch via <VirtualHost> nicht, das PHP zu unterbinden......Sloter dein 745 $USER samt User $USER in der Vhost bringt auch nix, er zeigt immer noch alles an..... Was ist an dem Eintrag (ausser daß er mal sehr nackt ist und nur zu Testzwecken) falsch: Code:
<VirtualHost XXX.XXX.XXX.XXX>
ServerName NAME/members/USER
ServerAlias NAME/members/USER
DocumentRoot /var/www/members/USER
User USER
php_admin_value safe_mode= On
php_admin_value open_basedir /var/www/members/USER
</VirtualHost>
Ciao, Steve
____________________________________
-- www.cargal.org GnuPG-key-ID: 0x051422A0 \"Be the change you want to see in the world\"-Mahatma Gandhi Jabber-ID:lotussteve@cargal.org |
|
|
|
|
|
#9 |
|
Inventar
![]() Registriert seit: 24.09.2001
Beiträge: 7.335
|
Huch, ein nackter Eintrag!
![]() Die fehlenden Anführungszeichen? Code:
#limit the files which php scripts can open php_admin_value open_basedir "/var/www/members/USER"
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org . |
|
|
|
|
|
#10 | |
|
Inventar
![]() Registriert seit: 23.09.2000
Beiträge: 2.321
|
Zitat:
ad 1.) Isch abe Phhhotoos ![]() ad 2.) Nein, kein Unterschied. Langsam zipft mich das nämlich ziemlich an, ich will einfach nur daß die User ihre PHP-Sachen nur in ihrem Verzeichnis und darunter machen können, das kann doch nicht so schwer sein. Zitat aus einer Mail von debian-user-german: > > Safe_mode macht nur sinn in Kombination mit open_basedir. open_basedir > > oder safe_mode alleine bringt nichts. > > Ich hab es jetzt versucht mal nur für den Directoryeintrag zu setzen, > das scheint aber nicht zu gehen: > > php_admin_value open_basedir . Ich schrieb es bereits: gib in einem <Virtual Host> die vollständige Pfadangabe an und deaktiviere mod_homedir (public_html). > > Ich würde open_basedir explezit angeben (vollständige Pfadangabe ohne > > Wildcards), homedirs deaktivieren und alles über sauber konfigurierte > > virtual_hosts umsetzen. > > Wo würdest du das open_basedir setzen, in der /etc/php4/apache/php.ini ? In der php.ini kannst Du nur ein openbasedir setzen. In der Apache Konfigurationsdatei jedoch für jeden <Virtual Host> oder jedes Directory. > Mit welchem Wert? Mit dem absolutem Pfad ins vom Nutzer erreichbare Root Verzeichnis innerhalb des <Virtual Hosts> > Zumindest eine App ( http://gallery.sf.net ) geht mit > safe_mode nicht, soll ich da für das einen vhost machen und dort > safe_mode= Off setzen? Geht das, siehe oben, überhaupt, auf > vhosts-Basis? Du kannst den Safe_mode generell auf On setzen und <Virtual Host> bezogen deaktivieren. Allerdings solltest Du sicherstellen, dass auch lediglich DU der einzige bist, der Zugriff (also schreibenden nicht über den Browser ,-) auf diesen Bereich hat! Und JA - das geht. Habe ich Dir doch von Anfang an empfohlen ... Zitat Ende. Bis jetzt kann ich seine sehr nette Rechthaberei am Ende nicht bestätigen, es geht bei mir nicht......was mache ich falsch? @Sloter: du meintest 705,sehe ich das richtig (ist zumindest bei www77 so), das hilft nix! Ciao, Steve
____________________________________
-- www.cargal.org GnuPG-key-ID: 0x051422A0 \"Be the change you want to see in the world\"-Mahatma Gandhi Jabber-ID:lotussteve@cargal.org |
|
|
|
|
![]() |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|