fastix®: Mein Provider zwingt mir bestimmte Dateirechte auf

Beitrag lesen

Moin!

mein Provider hat ein Programm namens "suPHP" auf dem Server installiert und seitdem funktioniert fast nichts mehr - ständig wird der Zugriff auf Dateien verweigert. Nun will der, daß ich _allen_ Scripten und Dateien die Rechte 755 zuteile bzw. hat das jetzt einfach gemacht.

755? Der Besitzer darf lesen, schreiben, ausführen, die Gruppe und die ganze Welt auführen und, das ist bei Skripten dazu unumgänglich: lesen. Schreiben oder verändern wohl nicht. Die Zugriffsverweigerung ist damit nicht zu erklären.

ein:
Ich bin: <?php echo whoami; ?>

Sollte Dir Klarheit verschaffen, unter welchem Benutzername Dein Skript ausgeführt wird.

Falls Du für irgendwelche Zwecke weitere Informationen brauchst:
<pre>
<?php
$strIam=whoami;
echo "username:x:uid:gid:homedir:shell\n";
echo grep ^$iam: /etc/passwd;
echo "\n";
echo "Gruppe: ";
$strMyGroup id -ng;
?>
<pre>

<hr><pre>
<?php echo ls -al; ?>
<pre><hr>

Zeigt Dir eine Liste der Dateien im aktuellen Verzeichnis, deren Autor, die Gruppe und die Rechte an.

<?php phpinfo(); ?>

Zeigt Dir auch, was ggf. zum Thema 'safe-mod' in der php.ini steht und in welchen Verzeichnissen Du Dateien verändern darfst.

Wenn Deine Skripte gut sind, dann sind Dinge, wie Verzeichnisse einfach konfigurierbar, weil Du für jedes Deiner Webs eine Art Initialisierungsdatei verwendest, die Du in parktisch jedes Skript inkludierst und die Dir die Möglichkeit verschafft Verzeichnissnamen, Datenbankzugänge und dergleichen Konfigurationseinstellungen zentral zu ändern.

Du hast keine solche Datei? Dann nehme diese Änderung gleich mit vor, spart beim nächsten Umzug oder bei der nächsten Veränderung eine Menge Arbeit.

Muß sowas eigentlich sein? Und kann mir vielleicht jemand erklären, welche Sicherheitsrisiken ich mir damit einhandle? Ich verstehe dieses Linux-Rechtesystem nicht wirklich, aber 755 kommt mir doch sehr hoch vor.

Die Erklärung steht oben. Einen Webauftritt sieht immer "die ganze Welt". Insofern sind die Rechte natürlich auf "für jeden lesbar" und "für jeden ausführbar" gesetzt. Wieso und ob letzteres bei nicht auszuführenden Dateien (Grafiken, statische Dateien, Datendateien) nötig sein soll- daran habe ich allerdings berechtigte Zweifel.

Außerdem kann ich ja gar keine PHP-Dateierstellungsautomatik mehr nutzen, weil da immer Dateien mit niedrigeren Rechten erstellt werden (644 war das glaub ich - und hat auch immer funktioniert). Das muß ich ja jetzt alles umschreiben.

Womöglich, womöglich nicht. Informiere Dich, was der Shell-Befehl chmod, chown, chgrp und vor allem umask für Dich tun kann. Ausführen kasst Du diese ja innerhalb von PHP-Skripten, soweit der save-mode dem nicht engegensteht. Es ist aber auch möglich

Eventuell musst Du aber auch ein anderes Paket beim gleichen oder einem anderen Hoster buchen.
Oder Dich halt mit den grundlegenden Befehlen des Betriebssystems auseineandersetzen, auf dem Deine Programme (Skripte sind Programme) laufen sollen. Ein paar wichtige Befhele für Linux/Solaris/BSD/SCO habe ich Dir freundlicherweise oben schon genannt. Nutze mindestens eine Probierversion wie Knoppix oder SuSE-Live-CD um an der Shell etwas zu üben und die Befehle kennenzulernen.

MFFG (Mit freundlich- friedfertigem Grinsen)

fastix®

--
Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development