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