Warum werden Gruppenschreibberechtigungen in Ubuntu ignoriert?

Warum werden Gruppenschreibberechtigungen in Ubuntu ignoriert?

Ich möchte, dass mein Benutzer vollen Zugriff auf den lokalen Apache-Stammordner hat, und ich möchte auch, dass der Apache-Benutzer vollen Zugriff auf denselben Ordner hat.

Ich habe eine neue Gruppe namens DevGroup erstellt und www-datadort meinen Benutzer hinzugefügt. Außerdem habe ich die Berechtigungen auf 770 geändert, um vollen Gruppenzugriff zu ermöglichen.

Aber jetzt wird weder mir noch dem Apache-Benutzer jeglicher Zugriff auf den Ordner gestattet.

Folgendes bekomme ich damit ls:

drwxrwx--- 12 root      DevGroup    4096 Sep 27 17:34 testFolder

Das scheint perfekt, aber wenn ich als Benutzer versuche, auf die Datei zuzugreifen, erhalte ich Folgendes:

var/www$ ls testFolder/
ls: cannot open directory testFolder/: Permission denied

Auch wenn ich versuche, über einen Browser auf eine Seite im Ordner zuzugreifen:

[Thu Sep 27 17:47:16 2012] [error] [client 127.0.0.1] PHP Fatal error: 
 Unknown: Failed opening required '/var/www/testFolder/foo.php' 
(include_path='.:/usr/share/php:/usr/share/pear') in Unknown on line 0

Was ist das Problem und wie kann ich es beheben?

Antwort1

Was Sie beschreiben, sollte funktionieren, aber Sie müssen sich möglicherweise abmelden und Apache neu starten, damit die neuen Gruppenmitgliedschaften übernommen werden.

Wenn sich dieser Ordner unter dem Webstamm befindet, ist es sinnvoll, ihn als „Eigentum“ des Webservers zu betrachten. Sie könnten ihn also dem Benutzer „www-data“ und der Gruppe „DevGroup“ zuordnen. Dadurch wird sichergestellt, dass der Webserver immer darauf zugreifen kann.

verwandte Informationen