Права доступа на загружаемые файлы в Windows (IIS 7.5)

Главные вкладки

Аватар пользователя alkis27 alkis27 21 марта 2010 в 5:34

Здравствуйте.

Кофигурация: 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) происходит указанное наделение правами?
Задача вроде простая - сделать так чтобы загружаемые файлы были доступны - но решить ее не получается.

Комментарии

Аватар пользователя alexandr.poddubsky alexandr.poddubsky 21 марта 2010 в 6:05

"RxB" wrote:
И эти люди ещё будут говорить про глючность и сложность линукса?

да пипе_ совсем. всего одно действие chmod. винда не для серваков, а суровых юзеров.

Аватар пользователя ihappy ihappy 21 марта 2010 в 6:39

"RxB" wrote:
И эти люди ещё будут говорить про глючность и сложность линукса?

зато кликами мышки все делается... такие как ламер рады))

Аватар пользователя ihappy ihappy 21 марта 2010 в 9:09

"RxB" wrote:
Я лучше с клавы введу
chmod -R 755 /var/www/mycoolsite к примеру
Чем буду вот так себе мозг парить с мышкой

так и я же такой. хоть консоль не до любливаю.
"RxB" wrote:
Жалкое подобие Apache от MS

я как то пытался поставить себе ИИС... проклял тот день когда я это захотел.
день убил на конфигурацию. ПХП не прикрутил. асп нафиг мне сдался... в итоге послал идею. и понял всю прекрасность Апача и его конфигурации.

Аватар пользователя Обухов Никита Обухов Никита 21 марта 2010 в 10:19

ЕМНИП это из-за того что загружаемые файлы наследуют права от временной папки

1. Найдите временную папку для загрузки файлов (по-умолчанию C:\Windows\temp) или та, что вы указали в php.ini в строке upload_tmp_dir
2. Для этой папки добавьте группы IUSR и IIS_IUSRS с нужными разрешениями

Аватар пользователя Обухов Никита Обухов Никита 21 марта 2010 в 13:44

"<a href="mailto:shamaner@drupal.org">shamaner@drupal.org</a>" wrote:
да пипе_ совсем. всего одно действие chmod. винда не для серваков, а суровых юзеров.

(Справедливости ради) здесь собсна тоже только добавить права на папку и усё.

Аватар пользователя alkis27 alkis27 22 марта 2010 в 2:45

"Обухов Никита" wrote:
ЕМНИП это из-за того что загружаемые файлы наследуют права от временной папки

Спасибо! Так оно и есть на самом деле.

Аватар пользователя mozh mozh 14 декабря 2017 в 18:16

что-то не работает нихрена
The file php41C.tmp could not be saved. An unknown error has occurred.
File upload error. Could not move uploaded file.
добавил две группы, права всем все поставил