Unix-Berechtigungen sind so konzipiert, dass sie einfach sind. Sie benötigen die Leseberechtigung zum Lesen aus einer Datei, die Schreibberechtigung zum Schreiben in eine Datei und die Ausführungsberechtigung zum Ausführen einer Datei. Sie müssen über eine Datei verfügen, um deren Metadaten zu ändern¹.
Das Zulassen, dass ein Benutzer, der eine Datei lesen kann, anderen die Leseberechtigung erteilt, oder das Zulassen, dass ein Benutzer, der eine Datei schreiben kann, anderen die Schreibberechtigung erteilt, würde das Sicherheitsmodell nicht wesentlich ändern. Dies liegt daran, dass Unix-Berechtigungen frei sind: Ein Benutzer, der eine Datei lesen kann, kann ihren Inhalt anderen Benutzern zur Verfügung stellen, auch wenn diese anderen Benutzer die Datei sonst nicht lesen könnten (und ähnlich wie beim Schreiben könnte der Benutzer als Proxy fungieren und im Namen anderer schreiben).
Wenn Sie einem Benutzer andererseits die Erteilung einer Berechtigung erlauben, über die er nicht verfügt, wird das Berechtigungssystem vollständig zerstört: Der Benutzer kann sich selbst alle Berechtigungen erteilen.
Es ist ziemlich selten, dass Sie die Berechtigungen einer Datei ändern müssen, die Sie nicht besitzen. Normalerweise sollten Sie dafür sorgen, dass die Datei die richtigen Berechtigungen hat, sobald sie erstellt wird. Wenn Sie das wirklich brauchen, können Sie dem Benutzer sudo chmod
Rechte für einen bestimmten Modus und eine bestimmte Datei (z joe: ALL = (ALL) chmod g+r /path/to/file
. B. ) erteilen .
¹ Mit Ausnahme der Zugriffs- und Änderungszeiten, die insbesondere durch das Lesen oder Schreiben in die Datei festgelegt werden.