Ich habe Probleme beim Versuch, einige Anwendungen auf meinem Linux-System zu installieren. Es heißt, dass die Dateien in meinem / var / www / html / xxx-Verzeichnis, in dem ich sie abgelegt habe, nicht beschreibbar sind. Es chmod 777 xxx
wurde versucht, den Befehl zum Laufen zu bringen, aber der Fehler bleibt bestehen, wenn ich die Anwendungen erneut öffne.
Um genau zu sein, möchte ich phpFreeChat auf meinem System installieren, so hatte ich diese Dateien im Verzeichnis / var / www / html / Kostenloses Chat - Verzeichnis, cd
dort und getippt chmod 777 data/private
, chmod 777 data/public
auf bash. Hier ist das Ergebnis von list -al data
:
drwxr-xr-x. 4 root root 4096 Jun 17 15:07 .
drwxr-xr-x. 13 root root 4096 Jun 17 15:22 ..
drwxrwxrwx. 2 root root 4096 Jun 17 15:07 private
drwxrwxrwx. 3 root root 4096 Jun 17 15:07 public
Dies alles schien mir in Ordnung zu sein, bis ich http://localhost/freechat
meinen Browser eintippte. Hier ist das Ergebnis:
phpFreeChat kann nicht initialisiert werden, bitte korrigieren Sie diese Fehler:
/var/www/html/freechat/src/../data/private ist nicht beschreibbar /var/www/html/freechat/src/../data/private/cache kann nicht erstellt werden / var / www / html /freechat/src/../data/private/cache ist nicht beschreibbar /var/www/html/freechat/src/../data/private/cache ist nicht lesbar kann / var / www / html / freechat / src nicht erstellen /../data/public/themes/default kann /var/www/html/freechat/src/../data/public/themes/default /var/www/html/freechat/src/../data/ Privat / Chat kann nicht erstellt werden /var/www/html/freechat/src/../data/private/chat ist nicht beschreibbar /var/www/html/freechat/src/../data/private/chat ist nicht lesbar /var/www/html/freechat/src/../data/private/chat/s_d0ba868e1391b6c0d897996049a68ada kann nicht erstellt werden / var / www / html / freechat / src / ../ data / private / chat / s_d0ba868e1391b6c0d897996049a68ada ist nicht beschreibbar /var/www/html/freechat/src/../data/private/chat/s_d0ba868e1391b6c0d897996049a68ada ist nicht lesbar
Ich bin ziemlich verwirrt, weil diese Situation nicht nur bei der Installation dieser Anwendung, sondern bei allen aufgetreten ist. Fehler müssen von mir gemacht werden, aber was ist das?
Antworten:
Dieses Problem wurde durch einen Befehl
setenforce 0
behoben, der SELinux beenden würde.Wie albern ich bin! Ich habe nie über dieses Zeug nachgedacht.
Danke Flimzy und njd trotzdem.
quelle
Sie müssen ein rekursives chmod ausführen, um alle Dateien und Unterverzeichnisse in data / private und data / public zu beeinflussen:
Allerdings sollten Sie NICHT den Modus 777 verwenden. Insbesondere, wenn auf diesem Server ein anderer Benutzer als Sie über ein Anmeldekonto verfügt. 777 steht für world read-, write- und executable. Grundsätzlich kann jeder Benutzer auf Ihrem System diese Dateien lesen, schreiben, löschen oder auf andere Weise in Unordnung bringen.
Zumindest sollten Sie dies in den Modus 774 ändern, was bedeutet, dass nur der Benutzer und die Gruppe (die beide im Moment root sind) die Dateien schreiben können, aber jeder Benutzer sie lesen kann.
Im Idealfall würden Sie auch die Dateien alle dem gleichen Nicht-Root-Benutzer gehören lassen, der die freechat-Software ausführt, und nur diesem Benutzer / dieser Gruppe Lese- / Schreibrechte erteilen.
Ändern Sie mindestens Ihren Modus auf 770, sodass nur der Root-Benutzer und die Root-Gruppe über die entsprechenden Zugriffsrechte verfügen
quelle
chmod
Ihnen hat entweder der Befehl nicht funktioniert, weil Sie ihn als normaler Benutzer und nicht als root ausgeführt haben; oder Sie müssen sicherstellen, dass die vorhergehenden Verzeichnisse (/ var / www / html / freechat und so weiter bis /) von jedem Konto, das für den httpd-Dienst verwendet wird, mindestens durchsuchbar sind (Flag ausführen).chmod
Befehl für diese Verzeichnisse tatsächlich funktioniertdrwxrwxrwx
, es sei denn, er hatls -al
mich betrogen. :)chown
diese Verzeichnisse zu apache.apache, die von festgelegt wird/etc/httpd/conf/httpd.conf
. Das Ergebnis hat sich nicht zuletzt geändert.Wenn Sie sich die Berechtigungen für jedes Verzeichnis ansehen:
und beachten Sie die erste Spalte, Sie sollten Zeilen sehen, die wie folgt beginnen:
Zumindest sollte am Ende der ersten Spalte ein x stehen : Ohne das kann der Webserver nicht auf den Inhalt des Freechat-Verzeichnisses zugreifen.
Möglicherweise müssen Sie es also tun
und sogar
quelle
dr-xr-xr-x
ist das/
Verzeichnis unddrwxr-xr-x
sind die anderen. In keinem Verzeichnis fehlt ein x .Der richtige Weg dies zu tun, ohne SE zu töten, ist dies zu tun
Das erste Bit besagt: "Jedes Element, das mit / var / www / html / freechat / data beginnt, sollte den Standardkontext 'httpd_sys_rw_content_t' haben."
Die andere sagt: "Setze alle Kontexte in den Dateien / Verzeichnissen in httpd_sys_rw_content_t (rekursiv) auf die Standardwerte (die gerade geändert wurden)."
quelle