Was ist der Unterschied zwischen dem Festlegen von Berechtigungen mit diesen beiden Methoden?

Was ist der Unterschied zwischen dem Festlegen von Berechtigungen mit diesen beiden Methoden?

Methode 1: Über apache2.conf (oder httpd.conf):

<Directory "/var/www/html">
  Options Indexes FollowSymLinks -MultiViews
  AllowOverrides None
  Order allow,deny
  Allow from all
</Directory>

Methode 2: Chmod in der Befehlszeile.

Erreichen diese beiden Methoden nicht dasselbe?

Und noch eine Frage, falls Sie sie beantworten können: Welche Berechtigungen werden den Ordnern „var“ und „www“ normalerweise zugewiesen?

Danke

Antwort1

Methode 2 legt die Berechtigung auf Dateisystemebene fest, also nicht nur für Apache. Dies ist die sichere Methode, um die Berechtigung für eine Datei festzulegen.

Methode 1 legt die Berechtigung auf Anwendungsebene fest, aber Methode 2 ist auch anwendbar. Wenn Ihr Inhalt nicht von Apache gelesen werden kann, kann der Client die Datei nicht lesen, auch wenn Methode 1 angibt, dass er sie lesen kann.

Die kurze Antwort lautet also: Nein.
Methode 2 wird verwendet, um sicherzustellen, dass Apache Ihre PHP-Datei lesen kann, andere Benutzer/Prozesse jedoch nicht. Methode 1 wird verwendet, um den Seitenzugriff mit einem Passwort usw. zu schützen.

Ich sehe, dass Sie das PHP-Tag festlegen. Achten Sie darauf, dass Methode 1 niemals beeinflusst, was PHP lesen oder schreiben kann. Methode 2 sowie die PHP-Konfiguration erledigen das.

/var ist auf meinem System 755 root/root, www hängt stark von Ihrer Apache-Konfiguration und der benötigten Sicherheit ab.

verwandte Informationen