O que a permissão de diretório 02777 faz?

O que a permissão de diretório 02777 faz?

Encontrei o seguinte código PHP hoje:

mkdir($directory, 02777);

chmod($directory, 02777);

Eu entendo o PHP, mas não a primeira parte desses números. A parte 777 está clara e, se entendi corretamente, o 0 significa apenas que é octal. Mas o que o 2 ali dentro faz?

Além disso, se eu mudasse para 02640, o 2 ainda faria o que faz ou muda de acordo com o que vem depois?

Responder1

Este dígito octal é composto de setuidbits setgide stickybits, todos com efeitos comparativamente complexos.

O 2define a setgidbandeira. Quando presentes em um diretório, todos os arquivos criados dentro dele herdarão seu grupo, em vez do grupo primário do usuário criador.

Mais sobreWikipédia.

informação relacionada