Ja, ACL: s ermöglichen das freie Festlegen unterschiedlicher Rechte für verschiedene Benutzer oder Gruppen. IIRC Die üblichen Gruppenberechtigungen begrenzen den Satz von Berechtigungen, die Gruppen und Benutzer über ACL: s haben können (siehe mask
in getfacl
), setfacl
sollten sich jedoch damit befassen, wenn Sie Berechtigungen hinzufügen.
In einigen Fällen müssen Sie jedoch fragen, ob die Berechtigungen sinnvoll sind.
Ich habe 3 Benutzer mit diesen gewünschten Berechtigungen ....
- Benutzer1 rwx
- Benutzer2 rw_
- Benutzer3 r__
Sie können dies mit ACL: s oder (ungefähr) mit den üblichen Unix-Berechtigungen implementieren, indem Sie Benutzer1 zum Eigentümer der Datei, Benutzer2 zu einem Mitglied der Gruppe machen und anderen, einschließlich Benutzer3, Lesezugriff gewähren. Dann hätte dann jeder (mit Zugriff auf das Verzeichnis) auch Lesezugriff.
Betrachten wir die Bedeutung dieser Berechtigungen. Sie haben einen Benutzer, der lesen kann, und einen anderen, der lesen und schreiben kann. Das ist völlig üblich. Keiner von beiden hat Zugriff auf die Ausführung der Datei, aber dann soll auch ein dritter Benutzer dazu in der Lage sein.
Das macht für mich nicht viel Sinn. Jeder Benutzer, der die Datei lesen, eine Kopie (*) erstellen, sie als ausführbar markieren und ausführen kann, ohne Zugriff auf die Originaldatei zu haben. Die einzige Situation, in der es sinnvoll ist, für einige Benutzer Ausführungszugriff zu haben, für andere jedoch nicht, ist, wenn die ausführbare Datei über suid über erhöhte Berechtigungen verfügt. In diesem Fall sollten Sie jedoch auch keine anderen Benutzer mit Schreibzugriff auf die Datei haben.
Im gleichen Sinne machen Benutzer4 mit -wx
und Benutzer5 mit für --x
mich keinen Sinn. Nur-Schreib-Zugriff könnte sinnvoll sein, wenn die Möglichkeit besteht, nur Anhänge zuzulassen , aber das Berechtigungssystem ist nicht so detailliert .
(* es sei denn, sie können nirgendwo schreiben)
Wenn wir jedoch die seltsame Anforderung für das x
Bit entfernen , bleibt eine Datei übrig, in der Benutzer1 und Benutzer2 Schreibzugriff und Benutzer3 Lesezugriff haben sollten. Ein Writer und mehrere Reader wären mit dem herkömmlichen Modell einfach, aber dieser Fall würde Tricks erfordern, um die Dateiberechtigungen mit den Berechtigungen des enthaltenen Verzeichnisses zu kombinieren. Glücklicherweise ist in vielen Fällen ein Benutzer mit mehr Berechtigungen ausreichend.
Ohne die Anforderung für das Ausführungsbit scheint dies ein Fall für die Verwendung von ACL: s zu sein. Aber damit scheint mir dieses besondere Beispiel ziemlich verworren zu sein.