Was bewirkt die Verzeichnisberechtigung 02777?

Was bewirkt die Verzeichnisberechtigung 02777?

Habe heute folgenden PHP-Code gefunden:

mkdir($directory, 02777);

chmod($directory, 02777);

Ich verstehe das PHP, aber nicht den ersten Teil dieser Zahlen. Der 777-Teil ist klar, und wenn ich es richtig verstanden habe, bedeutet die 0 nur, dass es oktal ist. Aber was macht die 2 darin?

Und wenn ich es in 02640 ändere, würde die 2 dann immer noch das tun, was sie tut, oder ändert sie sich je nachdem, was danach kommt?

Antwort1

Diese Oktalziffer besteht aus setuid, setgidund stickyBits, die alle vergleichsweise komplexe Auswirkungen haben.

Dadurch 2wird das setgidFlag gesetzt. Wenn es in einem Verzeichnis vorhanden ist, erben alle darin erstellten Dateien dessen Gruppe und nicht die primäre Gruppe des erstellenden Benutzers.

Mehr zuWikipedia.

verwandte Informationen