Haben Sie sich ab- und wieder angemeldet, nachdem Sie die Gruppenänderungen vorgenommen haben? Sehen:
Super User-Antwort mit Fehler bei Berührungsberechtigungen
Warum kann ein Linux-Benutzer keine Dateien in einer Gruppe bearbeiten, der er angehört?
Ich verwende Ubuntu 12.04 und hatte das gleiche Problem, bei dem ein Benutzer nicht in eine Datei schreiben kann, auf die er Gruppenzugriff hat. Zum Beispiel:
whoami //I am user el
el
touch /foobar/test_file //make a new file
sudo chown root:www-data /foobar/test_file //User=root group=www-data
sudo chmod 474 /foobar/test_file //owner and others get only read,
//group gets rwx
sudo groupadd www-data //create group called www-data
groups //take a look at the groups and see
www-data //www-data exists.
groups el //see that el is part of www-data
el : www-data
Starten Sie das Terminal jetzt neu, um sicherzustellen, dass die Benutzer und Gruppen wirksam werden. Einloggen als el.
vi /foobar/test_file //try to edit the file.
Erzeugt die Warnung:
Warning: W10: Warning: Changing a readonly file"
Was? Ich habe alles richtig gemacht, warum funktioniert es nicht?
Antwort:
Führen Sie einen vollständigen Neustart des Computers durch. Das Beenden des Terminals reicht nicht aus, um diese Probleme zu beheben.
Ich denke, was passiert, ist, dass Apache2 auch die www-data-Gruppe verwendet, also bestand die Aufgabe darin, irgendwie zu verhindern, dass die Benutzer und Gruppen korrekt durchgesetzt werden. Sie müssen sich nicht nur abmelden, sondern auch alle Dienste stoppen und neu starten, die Ihre Gruppe verwenden. Wenn ein Neustart es nicht bringt, hast du größere Probleme.
Ich hatte das gleiche Problem, überprüfen Sie, ob der Ordner noch weitere ACL-Regeln hat oder nicht!
Wenn Sie + (Pluszeichen) sehen können, wenn Sie einen Ordner auflisten, bedeutet dies, dass es spezielle Zugriffsregeln gibt. Zum Beispiel:
[[email protected] html]$ ls -l
total 16
drwxrwxr-x 16 apache apache 4096 Sep 4 13:46 ilias
drwxrwxr-x+ 15 apache apache 4096 Sep 4 13:46 ilias5
Berechtigung anzeigen:
[[email protected] html] getfacl ilias5
# file: ilias5
# owner: apache
# group: apache
user::rwx
user:user_in_apache_group:r-x
group::rwx
mask::rwx
other::r-x
Das bedeutet also, dass mein Benutzer (user_in_apache_group) keine Schreibrechte für diesen Ordner hat.
Die Lösung ist, was @techtonik gesagt hat, Schreibberechtigung für Benutzer hinzufügen:
[[email protected] html]$ sudo setfacl -m u:user_in_apache_group:rwx ./ilias5
Überprüfen Sie die Berechtigung erneut:
[[email protected] html] getfacl ilias5
...
user:user_in_apache_group:rwx
...
Ich hoffe es hilft.;)