CentOS7-Benutzer erbt keine Gruppenberechtigungen

CentOS7-Benutzer erbt keine Gruppenberechtigungen

Ich habe das Tutorial unterhttps://www.digitalocean.com/community/tutorials/how-to-install-wordpress-on-centos-7(zusammen mit allen erforderlichen Tutorials), um WordPress auf meinem neuen CentOS7-Server einzurichten. Bis jetzt funktioniert alles einwandfrei

sudo chown -R apache:apache /var/www/html/*

Ich verstehe, dass der obige Befehl dem Apache-Benutzer und der Apache-Gruppe den Besitz zuweist. Normalerweise verbinde ich mich jedoch über Putty und Filezilla mit meinem eigenen myuserKonto und möchte die Berechtigungen für dieses Konto aktivieren.

Zusätzlich zum obigen Befehl habe ich also auch myuserder apacheGruppe hinzugefügt und mich abgemeldet und wieder angemeldet. Allerdings erhalte ich immer noch die Fehlermeldung „Berechtigung verweigert“, wenn ich versuche, CRUD-Operationen im HTML-Ordner auszuführen. Wenn ich die Befehle jedoch erhöhe, sudofunktionieren sie, daher bin ich etwas ratlos, wie ich dem myuserKonto die Ausführung von Dateioperationen gestatten kann. Irgendwelche Ideen?

Antwort1

Sie sollten sowohl den Besitz, die Berechtigungen als auch den Selinux-Kontext überprüfen

Eigentümerschaft – Klingt, als hätten Sie das richtig gemacht. Eigentümer:Gruppe auf CentOS7 sollte apache:apache sein. Für Ihren Benutzer müssen Sie Apache als zusätzliche Gruppe hinzufügen. Sie können dies mit überprüfen. id myuserWenn Apache nicht in der Liste der Gruppen angezeigt wird, führen Sie aus usermod -a -G apache myuser.

Berechtigungen - Sie werden als rwxrwxrwx aufgelistet. Der mittlere rwx-Satz ist der wichtige Teil, da er den Zugriff über die Gruppe steuert (das ist auch wichtig für myuser). Sie benötigen wahrscheinlich nur Lese-/Schreibberechtigungen, daher chmod -R 664 directorynamewürde wahrscheinlich ein ausreichen (Lesen/Schreiben für Apache-Benutzer und -Gruppe, Nur-Lesen für alle anderen). Sie können die Berechtigungen mit überprüfen ls -l.

Hinweis: WordPress enthält normalerweise eine versteckte „.htaccess“-Datei. Sie müssen den chmod manuell auf diese und alle anderen versteckten Dateien anwenden, da diese durch rekursives chmod/chown übersprungen werden.

SELinux-Kontexte - Diese können Sie mit überprüfen ls -Z. Um die SELinux-Durchsetzung zu deaktivieren, können Sie setenforce 0- ausführen. Dies ist gut zum Debuggen, ob SELinux der Übeltäter ist oder nicht. Sie sollten es jedoch nach Abschluss des Tests mit wieder aktivieren setenforce 1. Wenn SELinux das Problem ist, müssen Sie wahrscheinlich den Kontext der Dateien mit etwas in der Art von ändern:chcon -R -t httpd_sys_rw_content_t directoryname

Hinweis: Ein rekursiver chcon überspringt auch versteckte Dateien (alle Dateien, die mit einem „.“ beginnen).

Randbemerkung: Wenn Sie Symlinks verwenden, sollten Sie sicherstellen, dass sowohl das verknüpfte Verzeichnis als auch der eigentliche Symlink über die entsprechenden Eigentümer/Berechtigungen verfügen. Um einen Symlink mit chmod / chown anzusprechen, verwenden Sie das -hFlag und stellen Sie, wenn Sie auf ein Verzeichnis abzielen, sicher, dass der abschließende Schrägstrich nicht vorhanden ist (z. B. „ /var/www/html/linked_dirand not“ /var/www/html/linked_dir/– seien Sie vorsichtig, wenn Sie die Tabulatorvervollständigung verwenden, da diese automatisch den abschließenden Schrägstrich hinzufügt).

verwandte Informationen