Berechtigungen von PHP-Skripts

Hi @all!

Folgendes:
Ich würde gerne einzelnen PHP-Skripts auf meinem Server eingeschränkte Rechte zuweisen, sodass sie beispielsweise nur Zugriff auf ihr eigenes Verzeichnis und dessen Unterordner haben.

Ist das zu bewerkstelligen, wenn ja, wie?
Alternativen?

Mein Anbieter ist www.domaingo.de und ich habe ein power-Paket.
Vielen Dank im Voraus!


MfG, BattleMaker
 
Hallo,
sofern du Root-Rechte auf deinem Server hast, ist das zu bewerkstelligen.

Wenn der Server im Safe Mode = On läuft, dann kann man dies noch anders lösen:
Für jeden PHP-Script weist du eine neue UID (Besitzer) zu (muss/sollte nicht im System existieren), dann kann der Script nur auf Ordner/Dateien mit der gleichen UID zugreifen.

Dazu benötigst du aber entweder Root-Rechte, oder ein (PHP)-Script, dem es erlaubt ist, die UID einer anderen Datei zu ändern.

Sofern PHP als CGI-Module eingebunden ist, ist es möglich speziellere Rechte für jeden Ordner zu vergeben, dafür brauchst du aber wieder Root-Zugriff per Shell (o.ä.), und die Erlaubnis, am Webserver rumzuspielen.
 
Vielen Dank für die ausführliche Antwort! :)

Leider ist SafeMode auf den Servern meines Anbieters standardmäßig deaktiviert (was ich genau genommen auch sehr begrüße), deshalb fällt diese Möglichkeit schon mal weg.

Allerdings ist der Anbieter sehr flexibel und hat einen astreinen Support. Also werde ich in dem Support-Forum anfragen, ob es irgendeine Möglichkeit zur Lösung meines 'Problems' gibt.

Also danke! :)


MfG, BattleMaker =)
 
Danke auch dir :)

Name Default Changeable Changelog
open_basedir NULL PHP_INI_SYSTEM ---


Offensichtlich muss man diesen Wert in einer PHP.ini oder dergleichen festlegen. Da muss ich wohl auch erst beim Kundensupport anfragen.


MfG, BattleMaker
 
da du meist eine globale php.ini hat (keine ahnung ob man so eine auch per virtual host definieren kann) wirst du da sicherlich nicht weit kommen.
die default php.ini einstellungen kann man jedoch auch z.b. beim apache fuer jeden virtual host ueberschreiben
 
wenn mit apache (das codebeispiel is für apache 1.x, für apache 2 müsste es aber genauso oder nur minimal anders sein) gearbeitet wird, muss dein hoster irgendwo die infos über die virtuellen hosts gespeichert haben.

das sieht dann z.b. so aus:
<VirtualHost 267.28.116.321:80>
ServerName subdomain.irgendwas.de
ServerAlias www.subdomain.irgendwas.de
ServerAdmin admin@irgendwas.de
DocumentRoot /var/www/kunden/dein-acc/unterordner

ErrorLog /var/logs/kunden/dein-acc/unterordner/error.log
CustomLog /var/logs/kunden/dein-acc/unterordner/custom.log

php_admin_value open_basedir /var/www/kunden/dein-acc/unterordner
</VirtualHost>
und mit dem fettgedruckten kannst du die scripts dann in dem ordner einsperren (wenn du das script über die subdomain aufrufst).

cYa
 
eine pn welche ich heute bekommen habe:

Hi soox!

Bezüglich diesem Thread: Berechtigungen von PHP-Skripts
Ich kann ja nicht mehr antworten weil man keine Doppel-Posts verfassen darf.

Deswegen könntest du vllt. bitte diesen Post in meinem Namen tätigen?





Hallo nochmal,

Mittlerweile habe ich bei meinem Anbieter viele viele Fragen gestellt :)


So sieht die Standard-php.ini auf den Servern meines Anbieters aus:
http://files.robertnitsch.de/php.ini
(ich bin mit <?php system("cp /usr/local/lib/php.ini php.ini"); ?> da rangekommen)

Ich kann für jedes Verzeichnis eine eigene php.ini anlegen indem ich einfach die Datei in jedes Verzeichnis hineinkopiere. Die Einstellungen einer php.ini werden jedoch nicht in Unterverzeichnisse vererbt, so wie es z.B. bei .htaccess der Fall ist.


Kann ich damit bereits PHP-Skripts in einem bestimmten Ordner Berechtigungen zuweisen? Denn ich kann die openbase-dir Einstellung in der PHP.ini nicht finden.

Achja: Einige Einstellungen von eigenen PHP.ini-Dateien werden natürlich nicht vom Server übernommen, z.B. max_execution_time.


MfG, BattleMaker
 
Zurück
Oben