1

Нашел сегодня следующий код PHP:

mkdir($directory, 02777);

chmod($directory, 02777);

Я понимаю PHP, но не первую часть этих цифр. Часть 777 ясна, и если я правильно понял, 0 означает, что она восьмеричная. Но что там делают 2?

Кроме того, если я изменил его на 02640, будет ли 2 все равно делать то, что он делает, или он будет меняться в зависимости от того, что будет после него?

1 ответ1

5

Эта восьмеричная цифра состоит из setuid , setgid и sticky , все из которых имеют сравнительно сложные эффекты.

2 устанавливает флаг setgid . При наличии в каталоге все файлы, созданные в нем, наследуют его группу, а не основную группу пользователя-создателя.

Больше на Википедии.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .