
Folgendes wird häufig verwendet, um Dateiberechtigungen festzulegen. Ein gutes Beispiel ist das Festlegen einer entsprechenden Berechtigungsstufe für eine Schlüsseldatei zur Verwendung durch SSH (hierbei handelt es sich um die „oktale“ Form):
chmod 600 filename.xyz
Wäre es ein korrektes Äquivalent und eine akzeptable Vorgehensweise, stattdessen Folgendes zu verwenden (dies ist die „symbolische“ Form)?
chmod a=,u=r filename.xyz
Der Grund für meine Frage ist, dass es für die Lesbarkeit des Codes etwas klarer erscheint. Immer noch nicht genau für Menschen lesbar, aber kein Bit-Mapping erforderlich.
Wenn maximale Lesbarkeit (und nicht Prägnanz) der Hauptgrund wäre, gäbe es eine bessere Option?
Antwort1
Bei a=,u=r
ist die Reihenfolge wichtig. Wenn Sie versehentlich die Reihenfolge von a=
und u=r
(oder die Reihenfolge von a=
und u=
) vertauschen, wäre das Ergebnis sehr unterschiedlich. (Ja, a
und u
sind auf einer QWERTZ-Tastatur ziemlich weit voneinander entfernt, aber jemand, der sich ein Referenzdokument ansieht und Dinge manuell eintippt, könnte die beiden sehr ähnlich aussehenden Teile durcheinanderbringen.) Für maximale Lesbarkeit und Sicherheit würde ich es deutlicher machen:
chmod u=r,go-rwx filename # or go-rwxst
Die Berechtigungskomponenten sind hier ganz anders und viel expliziter, wodurch Fehler weniger wahrscheinlich sind. Und es spielt keine Rolle, ob Sie go-rwx
first oder u=r
first haben.