3-stellig:
644
ugo (user group other)
4-stellig:
0644
?ugo (??? user group other)
Wofür steht die erste Oktalzahl in der 4-stelligen Unix-Dateiberechtigungsnotation?
3-stellig:
644
ugo (user group other)
4-stellig:
0644
?ugo (??? user group other)
Wofür steht die erste Oktalzahl in der 4-stelligen Unix-Dateiberechtigungsnotation?
Antworten:
Von 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. Alle ausgelassenen 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 Sticky-Attribute (1) aus.
Was sind "Benutzer-ID festlegen", "Gruppen-ID festlegen" und "Sticky", fragen Sie?
setuid und setgid (kurz für "Benutzer-ID bei Ausführung festlegen" bzw. "Gruppen-ID bei Ausführung festlegen") sind Unix-Zugriffsrechte-Flags, mit denen Benutzer eine ausführbare Datei mit den Berechtigungen des Eigentümers oder der Gruppe der ausführbaren Datei ausführen können. Sie werden häufig verwendet, um Benutzern auf einem Computersystem das Ausführen von Programmen mit vorübergehend erhöhten Berechtigungen zu ermöglichen, um eine bestimmte Aufgabe auszuführen. Die angegebenen Rechte für Benutzer- oder Gruppen-IDs sind zwar nicht immer erhöht, mindestens jedoch spezifisch.
Wenn sie auf ein Verzeichnis angewendet werden, führen die Befehle setuid / setgid dazu, dass neue Dateien, die im Verzeichnis erstellt wurden, die UID bzw. GID des übergeordneten Verzeichnisses erben. Dieses Verhalten variiert je nach Unix-Version. Zum Beispiel beachtet Linux die setgid, ignoriert aber die setuid in Verzeichnissen.
Und klebrig :
Heutzutage wird das Sticky-Bit am häufigsten in Verzeichnissen verwendet. Wenn das Sticky-Bit gesetzt ist, können nur der Eigentümer des Elements, der Eigentümer des Verzeichnisses oder der Superuser Dateien umbenennen oder löschen. Ohne das Sticky-Bit-Set kann jeder Benutzer mit Schreib- und Ausführungsberechtigungen für das Verzeichnis enthaltene Dateien unabhängig vom Eigentümer umbenennen oder löschen. Normalerweise wird dies im Verzeichnis / tmp festgelegt, um zu verhindern, dass normale Benutzer die Dateien anderer Benutzer löschen oder verschieben.
Setgid hat eine weitere sehr wichtige Funktion, auf die ich mich täglich verlasse, die aber nicht im Auszug von Handyman5 enthalten ist (das Zitat stammt von derselben Seite, die oben verlinkt wurde):
Die Flags setuid und setgid haben in einem Verzeichnis eine völlig andere Bedeutung.
Wenn Sie die Berechtigung setgid für ein Verzeichnis festlegen (chmod g + s), erben neue Dateien und Unterverzeichnisse, die in diesem Verzeichnis erstellt wurden, die Gruppen-ID und nicht die primäre Gruppen-ID des Benutzers, der die Datei erstellt hat (die Eigentümer-ID ist niemals betroffen, nur die Gruppen-ID). Neu erstellte Unterverzeichnisse erben das setgid-Bit.
Auf diese Weise wird ein freigegebener Arbeitsbereich für eine Gruppe ermöglicht, ohne dass Gruppenmitglieder ihre aktuelle Gruppe explizit ändern müssen, bevor neue Dateien oder Verzeichnisse erstellt werden. Beachten Sie, dass sich das Festlegen der Berechtigung setgid für ein Verzeichnis nur auf die Gruppen-ID neuer Dateien und Unterverzeichnisse auswirkt, die erstellt wurden, nachdem das Bit setgid gesetzt wurde, und nicht auf vorhandene Entitäten angewendet wird. Das Setzen des setgid-Bits in vorhandenen Unterverzeichnissen muss manuell mit einem Befehl wie dem folgenden erfolgen:
[root@foo]# find /path/to/directory -type d -exec chmod g+s {} \;
chmod g+s
würde das Hinzufügen einer 2 vor dem Oktalwert bedeuten, wodurch ein Verzeichnis mit 775 permissions ( drwxrwxr-x
) zu 2775 ( drwxrwsr-x
) wird.
Zusätzlich zu den anderen Antworten ist eine führende 0 eine Konvention, die verwendet wird, um anzugeben, dass eine Zahl oktal ist. Dies ist hier nicht erforderlich, da die Dateiberechtigungen immer in Oktal angegeben werden. Dies kann jedoch auch ein Grund sein, warum sie vorhanden sind.
Hier finden Sie einen benutzerfreundlichen Taschenrechner für Limux / Unix- Berechtigungen, mit dem Sie die Berechtigungen einer Datei oder eines Verzeichnisses ermitteln können.