Unterschied zwischen drei- und vierstelligen Dateiberechtigungen?

Unterschied zwischen drei- und vierstelligen Dateiberechtigungen?

Ich habe mich kürzlich gefragt, was der Unterschied zwischen drei- und vierstelligen numerischen Dateiberechtigungen ist. Die numerischen Berechtigungen erhalte ich durch Ausführen von stat --format "%a" $file_name.Was ist der Unterschied zwischen 0644 und 644?

Antwort1

Die erste Ziffer einer vierstelligen Erlaubnis ist die Summe ausBenutzer-ID festlegen (4)Gruppen-ID festlegen(2 undklebrig(1). Eine dreistellige Berechtigung ist genau wie eine vierstellige Berechtigung, bei der die erste Ziffer auf Null gesetzt ist. Somit:

  • 0644 ist genau dasselbe wie 644.
  • 1644 ist wie 644, aber das Sticky-Bit ist ebenfalls gesetzt
  • 4644 ist wie 644, aber das gesetzte Benutzer-ID-Bit ist ebenfalls gesetzt.

Anwendungsbeispiele für die vierstelligen Berechtigungen

Wenn eine Datei mit festgelegter Benutzer-ID ausgeführt wird, wird sie wie vom Eigentümer der Datei ausgeführt und nicht wie vom ausführenden Benutzer. So /bin/mountist beispielsweise im Allgemeinen root Eigentümer und hat die Berechtigungen 4755, wobei die 4 bedeutet, dass die Datei auch bei Ausführung durch einen normalen Benutzer mit den Berechtigungen des Eigentümers (root) ausgeführt wird.

Das Festlegen einer Gruppen-ID für ein Verzeichnis ist zum Freigeben von Dateien nützlich.

Das Sticky Bit wird bei Verzeichnissen wie verwendet, /tmpdamit alle Benutzer Dateien erstellen können, aber Nichteigentümer daran gehindert werden, die Dateien anderer Benutzer zu löschen. Daher /tmpsind die Berechtigungen für normalerweise 1777, wobei 1 bedeutet, dass das Sticky Bit gesetzt ist.

Dokumentation

Aus man chmod:

Ein numerischer Modus besteht aus einer bis vier Oktalziffern (0-7), die durch Addition der Bits mit den Werten 4, 2 und 1 abgeleitet werden. Auslasste Ziffern werden als führende Nullen betrachtet. Die erste Ziffer wählt die festgelegte Benutzer-ID (4) und Gruppen-ID (2) sowie die Attribute für eingeschränktes Löschen oder Sticky (1) aus. Die zweite Ziffer wählt die Berechtigungen für den Benutzer aus, dem die Datei gehört: Lesen (4), Schreiben (2) und Ausführen (1); die dritte wählt die Berechtigungen für andere Benutzer in der Gruppe der Datei mit denselben Werten aus; und die vierte für andere Benutzer, die nicht in der Gruppe der Datei sind, mit denselben Werten.

verwandte Informationen