Вот сценарий: я использую 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не подчиняюсь собственным инструкциям. Кто-нибудь знает какие?