ディレクトリ権限 02777 は何をするのですか?

ディレクトリ権限 02777 は何をするのですか?

今日、次の PHP コードを見つけました:

mkdir($directory, 02777);

chmod($directory, 02777);

PHP は理解できますが、数字の最初の部分はわかりません。777 の部分は明らかで、正しく理解していれば、0 は 8 進数であることを意味します。しかし、そこにある 2 は何をするのでしょうか?

また、これを 02640 に変更した場合、2 はそのまま動作しますか、それともその後に続くものに応じて変化しますか?

答え1

setuidこの 8 進数は、、setgidおよびビットで構成されておりsticky、いずれも比較的複雑な効果を持ちます。

フラグを設定2しますsetgid。ディレクトリに存在する場合、そのディレクトリ内で作成されたすべてのファイルは、作成者のプライマリ グループではなく、そのグループを継承します。

詳細はこちらウィキペディア

関連情報