GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux, warum kann ich nicht schreiben, obwohl ich Gruppenrechte habe?

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.;)


Linux
  1. So fügen Sie einen Benutzer zu einer Gruppe in Linux hinzu oder entfernen ihn

  2. Linux – Kann ein einzelner Benutzer mehrere Crontab-Dateien haben?

  3. Linux-Benutzergruppen verwalten

  4. Dateiberechtigungen unter Linux – Lesen/Schreiben/Ausführen

  5. So verwalten Sie Datei- und Verzeichnisberechtigungen/Eigentümer in Linux

So fügen Sie Benutzer zu einer Gruppe in Linux hinzu

So fügen Sie einen Benutzer zu einer Gruppe in Linux hinzu

So fügen Sie einen Benutzer zu einer Gruppe unter Linux hinzu

So fügen Sie einen Benutzer zu einer Linux-Gruppe hinzu

Wie kann ich die Standardgruppe eines Benutzers in Linux ändern?

Wie kann ich unter Linux einen Benutzernamen anhand der ID suchen?