Warum kann ich eine Datei, für die ich Gruppenschreibberechtigungen habe, nicht löschen?


26

Ich habe eine Datei mit folgenden Berechtigungen:

root:dataund chmodauf 775 gesetzt.

Mein normaler Benutzer, nennen wir ihn Boby, ist in der dataGruppe.

Warum kann ich die Datei mit dem Benutzer boby nicht löschen?

 rwxrwxr-x 18 Stammdaten 4096 30.12.2011 22:02 Speicherung
 Mein Benutzer befindet sich in den Gruppendaten, kann jedoch nicht in den Speicher schreiben

Antworten:


32

Denn durch das Löschen einer Datei ändern Sie nicht nur die Datei, sondern auch das Verzeichnis.

Also, wenn Ihre Datei ist:

rwxrwxr-x

Sie könnten:

cp /dev/null <filename>

Aber wenn Ihre Verzeichnisberechtigungen sind:

rwxr-xr-x  root  data  <directory name>

Das System verhindert dann das Entfernen der Datei.


Ich habe drwxrwxr-x im Verzeichnis, ich denke, es hat etwas mit dem d vor
danidacar

2
@ user56301 d gibt nur an, dass es sich bei dieser Datei um ein Verzeichnis handelt. Was ist das Eigentum des Verzeichnisses?
Karlson

drwxrwxr-x 18 Stammdaten
Danidacar

Versuchen Sie als Benutzer bobyFolgendes cd <directory> ; touch test_file ; rm test_file
auszuführen

@ user56301 können Sie eine Datei in diesem Verzeichnis erstellen? Wenn Sie dies nicht können, können Sie dort definitiv keine Datei löschen.
Rich Homolka

12

Das Löschen von Dateien basiert auf Verzeichnis- und nicht auf Dateiberechtigungen (*).

Haben Sie Schreibrechte für das Verzeichnis, in dem sich die Datei befindet?

(*) Achtung, Sie können ein Verzeichnis haben, in dem Sie festlegen, dass nur der Eigentümer der Datei sie löschen kann. Dies ist nützlich für temporäre Verzeichnisse.


Schauen Sie auch hier nach: superuser.com/questions/784952/… wo das gleiche besprochen wird.
Meetai.com

1

Wenn das übergeordnete Verzeichnis dem Benutzer bobyoder der dataGruppe das Schreiben in dieses Verzeichnis nicht ermöglicht , würde dies dieses Verhalten erklären.


2
Der gesamte Pfad benötigt also eine Gruppenberechtigung? Das funktioniert so.
Danidacar

1
@user: Nicht der gesamte Pfad - nur das unmittelbare übergeordnete Verzeichnis der Datei. Sie ändern nur den Inhalt des Verzeichnisses. Die höheren Eltern spielen überhaupt keine Rolle .
Grawity

Ich aktualisiere die Antworten
danidacar

1
Das ist nicht genau richtig. Sie benötigen nur Schreibrechte für das übergeordnete Verzeichnis. Die Perms können Benutzer, Gruppen oder andere sein, es müssen keine Gruppen-Perms sein, die es Ihnen erlauben.
Rich Homolka

@Rich: AFAIK, nur ein Satz wird geprüft. Wenn Sie der Eigentümer sind, überprüft das System nur die Berechtigungen des Eigentümers, nicht die der Gruppe oder der anderen. Wenn Sie in der Gruppe sind, überprüft das System nicht die Dauerwellen anderer Benutzer. ( touch foo; chmod 6 foo; ls -l foo; cat foo)
Grawity

1

Ich habe dasselbe versucht und bin auf dasselbe Problem gestoßen.

Starten Sie eine neue Terminalsitzung, um das Problem zu beheben. Dies kann erreicht werden durch:

  1. Abmelden und wieder anmelden
  2. Gehen Sie zu einem der 6 ttys (Strg + Alt + F1-6) (Hinweis: Strg + Alt + F7 ist Ihre GUI-Sitzung)
  3. Verwenden Sie su boby, um eine neue Sitzung für den Benutzer zu starten boby.

Prost!


Er erwähnt, dass er bereits als Boby angemeldet ist
Kanadier Luke REINSTATE MONICA

Er muss sich erneut anmelden als boby- die alte Sitzung scheint veraltet zu sein und die Änderungen der Gruppenzuordnung nicht wiederzugeben .
Hier sind Wölfe

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.