¿Qué hace el permiso de directorio 02777?

¿Qué hace el permiso de directorio 02777?

Encontré el siguiente código PHP hoy:

mkdir($directory, 02777);

chmod($directory, 02777);

Entiendo PHP, pero no la primera parte de esos números. La parte 777 es clara y, si he entendido correctamente, el 0 simplemente significa que es octal. ¿Pero qué hace el 2 de ahí?

Además, si lo cambiara a 02640, ¿el 2 seguiría haciendo lo que hace o cambiaría según lo que viene después?

Respuesta1

Este dígito octal se compone de setuidy setgidbits sticky, los cuales tienen efectos comparativamente complejos.

El 2pone la setgidbandera. Cuando estén presentes en un directorio, todos los archivos creados dentro de él heredarán su grupo, en lugar del grupo principal del usuario creador.

Más enWikipedia.

información relacionada