Вот сценарий: я использую Ubuntu Linux (12.10, если это имеет значение), и у меня есть каталог, права доступа которого, таким образом:
drwxrws--- paul www-data myfolder/
Вы можете видеть, что бит setgid
установлен. Если я изменяю какие-либо права на эту папку (например, chmod o+x myfolder
), он сбрасывает бит setgid
.
Согласно справочной странице chmod
:
chmod сохраняет биты
set-user-ID
иset-group-ID
каталога, если вы явно не укажете иное.
В другом месте говорится, что он сбрасывает бит setgid
если группа файла не совпадает с эффективным идентификатором группы пользователя, но только для обычных файлов (т. Е. Не для папок). Итак, поскольку моя группа не является paul
, а www-data
, я ожидаю, что вышеперечисленное произойдет, если myfolder/
будет обычным файлом, но это не так - это каталог.
Так что либо я неправильно понимаю руководство, либо chmod
не подчиняется собственным инструкциям. Кто-нибудь знает какие?