Здравствуйте.
Кофигурация: Windows Web Server 2008 R2 (IIS 7.5), php 5.2.13 (VC6 x86 Non Thread Safe), drupal 6.15.
В IIS все по-умолчанию - веб-узлы работают под пользователем IUSR.
При загрузке файла на сервер через сайт, на файле имеются следующие права доступа:
Владелец файла - IUSR
Пользователю IUSR - полный доступ.
Группе IIS_IUSRS - особые разрешения (стоит только одна галочка "содержание папки/чтение данных").
При попытке обращения к файлу через сайт - ошибка (500 - внутренняя ошибка сервера, ресурс не может быть отображен).
Чтобы файл стал виден, надо или добавить прав группе IIS_IUSRS или вообще убрать эту группу из этого файла.
IUSR и IIS_IUSRS - являются встроенными и, насколько я понимаю, пользователь IUSR является членом группы IIS_IUSR.
Получается, когда права на файл даны и самому пользователю и группе в которую он входит - берутся минимальные права (пробовал пользователя IUSR добавлять в группу Администраторы - результат тот же).
Такие права на файл даются независимо от того, какие права указаны в вышестоящей папке "files".
Перепробовал разные варианты, в том числе и:
1. Оставляю все по-умолчанию (т.е. ни IUSR ни IIS_IUSRS не указаны)
2. Даю и IUSR и IIS_IUSRS полный доступ на папку.
На выходе: пользователю IUSR - полный доступ, а права на файл для группы IIS_IUSRS или даются или переопределяются и имеются только "особые разрешения" в виде прав на "содержание папки/чтение данных".
Подскажите, на чьей стороне (drupal, php, iis) происходит указанное наделение правами?
Задача вроде простая - сделать так чтобы загружаемые файлы были доступны - но решить ее не получается.
Комментарии
И эти люди ещё будут говорить про глючность и сложность линукса?
да пипе_ совсем. всего одно действие chmod. винда не для серваков, а суровых юзеров.
зато кликами мышки все делается... такие как ламер рады))
Я лучше с клавы введу
chmod -R 755 /var/www/mycoolsite
к примеруЧем буду вот так себе мозг парить с мышкой
Жалкое подобие Apache от MS
так и я же такой. хоть консоль не до любливаю.
я как то пытался поставить себе ИИС... проклял тот день когда я это захотел.
день убил на конфигурацию. ПХП не прикрутил. асп нафиг мне сдался... в итоге послал идею. и понял всю прекрасность Апача и его конфигурации.
ЕМНИП это из-за того что загружаемые файлы наследуют права от временной папки
1. Найдите временную папку для загрузки файлов (по-умолчанию C:\Windows\temp) или та, что вы указали в php.ini в строке upload_tmp_dir
2. Для этой папки добавьте группы IUSR и IIS_IUSRS с нужными разрешениями
(Справедливости ради) здесь собсна тоже только добавить права на папку и усё.
Спасибо! Так оно и есть на самом деле.
что-то не работает нихрена
The file php41C.tmp could not be saved. An unknown error has occurred.
File upload error. Could not move uploaded file.
добавил две группы, права всем все поставил