Symbolisches Äquivalent von chmod 600

Symbolisches Äquivalent von chmod 600

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=rist 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, aund usind 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-rwxfirst oder u=rfirst haben.

verwandte Informationen