Ich möchte den Webzugriff auf Dateien erlauben, ohne anderen Systembenutzern Zugriff auf die Dateien für die Website zu gewähren.
Ich habe Besitzer:Gruppe als
bob:bob
Dann habe ich Folgendes getan:
Benutzermod -a -G bob httpd
Um http zur Benutzergruppe hinzuzufügen.
Die Dateiberechtigungen für den Stammordner lauten:
drwxr-xr--
Ich kann jedoch nicht mehr über das Internet auf die Site zugreifen. Der Webserver sollte mit den oben genannten Berechtigungen auf den Ordner zugreifen können.
Wenn ich die o+x-Berechtigung hinzufüge, funktioniert es sofort.
Fehlerprotokoll sagt:
[Tue May 01 17:25:20 2012] [crit] [client xxx.xx.xxx.xx] (13)Permission denied:
/var/www/bob/.htaccess pcfg_openfile: unable to check htaccess file, ensure it i
s readable
Für jede Hilfe wäre ich sehr dankbar.
Antwort1
Wenn Sie SELinux aktiviert haben, kann dies zu diesen Problemen führen. Durch eine Überprüfung /etc/selinux/config
können Sie feststellen, ob dies der Fall ist. Wenn ja, müssen die richtigen Kontexte auf die Dateien angewendet werden, auf die Apache zuzugreifen versucht.
Das Ändern des Benutzers httpd.conf
sollte das Letzte sein, was Sie tun, da Sie normalerweise httpd
einen Servicebenutzer mit einer niedrigen Nummer, wie apache
ihn selbst, ausführen möchten.
ls -lZ /var/www
würde die Kontexte anzeigen. sestatus
informiert Sie über den Status von SELinux auf Ihrem System. Apache ist definitiv eine „gezielte“ App. Wenn Sie die SELinux-Protokolle überprüfen, wird auch die Zugriffsverletzung angezeigt.
Übrigens ist das Deaktivieren von SELinuxnichtder Weg, den man gehen sollte.