$ touch testfile
$ chmod g+w testfile
$ sudo adduser user2 user1
$ stat -c'%a %A' testfile
664 -rw-rw-r--
$ su user2
Password:
$ groups
user2 user1
$ rm testfile
rm: cannot remove `testfile': Permission denied
Was fehlt?
quelle
$ touch testfile
$ chmod g+w testfile
$ sudo adduser user2 user1
$ stat -c'%a %A' testfile
664 -rw-rw-r--
$ su user2
Password:
$ groups
user2 user1
$ rm testfile
rm: cannot remove `testfile': Permission denied
Was fehlt?
Das Löschen einer Datei bedeutet, dass Sie Änderungen am Verzeichnis vornehmen sie sich befindet, nicht an der Datei selbst. Ihre Gruppe benötigt rw im Verzeichnis, um eine Datei entfernen zu können. Die Berechtigungen für eine Datei dienen nur dazu, Änderungen an der Datei selbst vorzunehmen.
Dies kann zunächst verwirrend wirken, bis Sie über die Funktionsweise des Dateisystems nachdenken. Eine Datei ist nur ein Inode, und das Verzeichnis verweist auf den Inode. Durch das Entfernen entfernen Sie lediglich einen Verweis auf den Inode dieser Datei im Verzeichnis. Sie ändern also das Verzeichnis, nicht die Datei. Sie könnten eine feste Verknüpfung zu dieser Datei in einem anderen Verzeichnis haben, und Sie könnten sie immer noch aus dem ersten Verzeichnis entfernen, ohne die Datei selbst zu ändern. Sie wäre immer noch im anderen Verzeichnis vorhanden.
775 drwxrwxr-x
für das Verzeichnis.ls -ld /path/to/directory
oder einfach,ls -ld .
wenn Sie bereits in dieses Verzeichnis aufgenommen haben.getent group 1002
zu sehen, ob es Ihnen einen ausführlicheren Fehler gibt.Nur das System kann eine Datei löschen, und nur wenn es keine Referenzen hat. Ein einfacher Benutzer kann nur die Verknüpfung einer Datei aufheben, dh sie aus einem Verzeichnis entfernen. Sie benötigen Schreibzugriff auf ein Verzeichnis, um die Verknüpfung einer Datei zu diesem Verzeichnis aufzuheben. Durch das Aufheben der Verknüpfung einer Datei wird die Datei nicht geändert, sodass der Schreibzugriff auf die Datei keine Rolle spielt.
quelle