Unterschied zwischen drei- und vierstelligen Dateiberechtigungen?

10

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

NerdOfCode
quelle
Ich habe mich über den Unterschied zwischen vier- und dreistelligen Dateiberechtigungen
gewundert

Antworten:

10

Die erste Ziffer in einer vierstelligen Berechtigung ist die Summe aus festgelegter Benutzer-ID (4), festgelegter Gruppen-ID (2) und Sticky (1). Eine dreistellige Berechtigung entspricht einer vierstelligen Berechtigung, bei der die erste Ziffer auf Null gesetzt ist. Somit:

  • 0644 ist genau das gleiche 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 Berechtigungen der vierten Ziffer

Wenn eine Datei mit festgelegter Benutzer-ID ausgeführt wird, wird sie wie vom Eigentümer der Datei ausgeführt und nicht vom Benutzer, der die Ausführung vornimmt. So ist beispielsweise /bin/mountCommon im Besitz von root und verfügt über Berechtigungen 4755, wobei die 4 angibt, dass sie, selbst wenn sie von einem normalen Benutzer ausgeführt wird, mit den Berechtigungen des Besitzers (root) ausgeführt wird.

Das Festlegen der Gruppen-ID in einem Verzeichnis ist nützlich, um Dateien freizugeben.

Das Sticky-Bit wird in Verzeichnissen wie verwendet, /tmpdamit alle Benutzer Dateien erstellen können, verhindert jedoch, dass Nicht-Eigentümer die Dateien anderer Personen löschen. Somit sind die Berechtigungen von /tmptypischerweise 1777, wobei 1 bedeutet, dass das Sticky-Bit gesetzt ist.

Dokumentation

Von man chmod:

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

John1024
quelle