Großbuchstabe S in den Berechtigungen eines Ordners

43

Was bedeutet der Buchstabe Sunten? Die betreffende Datei ist ein Ordner.

                                                                Bildbeschreibung hier eingeben

Ich habe hier gelesen , dass ein Großbuchstabe bedeuten Skann, dass das setgidBit für eine ausführbare Binärdatei aktiv ist . Aber das ist ein Ordner. Bedeutet das noch, dass das setgidBit dafür aktiviert ist? Wenn ja, was bedeutet das?

Amelio Vazquez-Reina
quelle

Antworten:

36

Das bedeutet, dass jede Datei, die in den Ordner verschoben wird, die Gruppe des Ordners annimmt, der der Ordner gehört.

Beispiel: Angenommen, Sie haben einen Ordner mit dem Namen "shared", der dem Benutzer "intrpc" und der Gruppe "users" gehört, und Sie (als Benutzer "initrpc") legen eine Datei darin ab. Infolgedessen gehört die Datei dem Benutzer "intrpc" und der Gruppe "users", unabhängig von der primären Gruppe von "initrpc".

Wenn auf den meisten Systemen das Set-Group-ID-Bit eines Verzeichnisses gesetzt ist, erben neu erstellte Unterverzeichnisse die gleiche Gruppe wie das Verzeichnis, und neu erstellte Unterverzeichnisse erben das Set-Group-ID-Bit des übergeordneten Verzeichnisses.

Sie können darüber lesen Sie hier .

Warum wird der Buchstabe in Großbuchstaben geschrieben (von dem Link, den Sie angegeben haben)?

setgid hat keine Auswirkung, wenn die Gruppe keine Ausführungsberechtigungen hat. setgid wird in der Ausgabe von ls mit einem Kleinbuchstaben "s" dargestellt. In Fällen, in denen es keine Auswirkung hat, wird es mit einem Großbuchstaben "S" dargestellt.

Hanan N.
quelle
Hier ist eine nette Erklärung von setgid für Verzeichnisse.
Matthias Braun
2
Ich denke , es irreführend zu sagen , setgid has no effect if the group does not have execute permissionsweil es tut eine Wirkung haben. Fügen Sie dem Verzeichnis einfach eine Datei als Eigentümer des Verzeichnisses hinzu: Die Datei enthält die Gruppe des Verzeichnisses anstelle der primären Gruppe des Eigentümers.
Matthias Braun
12

Der Großbuchstabe S ist, weil das Verzeichnis keine Ausführungsberechtigungen für die Gruppe hat. In gewisser Weise deutet dies auf einen "Fehler" hin, wie Sie sagen:

Neu erstellte Unterverzeichnisse erben dieselbe Gruppe wie das Verzeichnis, und neu erstellte Unterverzeichnisse erben das Bit set-group-ID des übergeordneten Verzeichnisses.

(Quelle: https://www.gnu.org/software/coreutils/manual/html_node/Directory-Setuid-and-Setgid.html )

Sie verweigern jedoch den Gruppenmitgliedern die Berechtigung, das Verzeichnis zu betreten.

Nicht jetzt
quelle