.htpasswd geht nicht wegen fehlendem +x Recht

Gerade bin ich wieder in einen beliebten Fehler gelaufen: Wenn ein anderer User (z.B. „apache“) auf eine Datei zugreifen will, dann müssen alle Verzeichnisse im gesamten Pfad das +x Recht besitzen.

Hat man also beispielsweise die Datei /home/$user/html/$foo/.htaccess, in der folgendes steht:

AuthName        "Speak, friend, and enter."
AuthType        Basic

#funktioniert nicht:
#AuthUserFile    /home/$user/html/$foo/.htpasswd

#funktioniert:
AuthUserFile    /var/www/virtual/$user/html/$foo/.htpasswd

require valid-user

während /home/$user/html ein Symlink auf /var/www/virtual/$user/html ist, kann apache unter Umständen nicht auf die .htpasswd zugreifen.
Der Umstand, unter dem das nicht funktioniert, ist, dass apache nicht auf /home/$user zugreifen kann, weil die Rechte entsprechend restriktiv gesetzt sind. Für /var/www/virtual/$user sind jedoch die Rechte so gesetzt, dass dies funktioniert.

Unter http://unix.stackexchange.com/questions/5860/how-do-i-recursively-check-permissions-in-reverse werden Tools diskutiert, mit denen rekursiv die Berechtigung der übergeordneten Verzeichnisse geprüft werden kann.

Kurzum: Die Rechte der übergeordneten Verzeichnisse überprüfen. :)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert