Разрешения пользователя IIS AppPool не работают

Я перемещаю приложение PHP с IIS7 на IIS8.5 на Win2012 R2. Приложение работает в собственном пуле приложений (MyPortal) и требует разрешения на запись во вложенную папку для создания PDF-файлов. Поэтому я назначаю разрешения на изменение или полный доступ для IIS AppPool\MyPortal на локальном компьютере, однако приложение по-прежнему не может записывать в папку. Единственный способ, который я нашел, чтобы позволить ему сделать это, - это предоставить доступ Modify к локальной группе USERS, чего я бы предпочел не делать (хотя у меня нет выбора ATM).

Процесс php-cgi.exe выполняется под учетной записью MyPortal, но каким-то образом не получает разрешений, которые я назначил пользователю MyPortal в папке. Процесс PHP выполняет простую команду fopen $file = fopen($tmp_filename,"w");.

Я видел этот похожий пост https://serverfault.com/questions/570033/iis-iusrs-and-defaultapppool-permissions-do-not-work, который предположил, что это может быть проблема кэширования разрешений, решаемая перезагрузкой, но в данном случае это не сработало.

Любые предложения относительно того, что не так?


person MrAngry    schedule 16.09.2016    source источник
comment
Как настроена анонимная аутентификация вашего веб-сайта IIS? А ваша аутентификация пула приложений? Лучше всего выполнять отладку с помощью Process Monitor и/или Process Explorer от Sysinternals: technet.microsoft .com/en-us/sysinternals/bb545021.aspx , найдите операции файлового ввода-вывода и ошибки отказа в доступе.   -  person Jan Reilink    schedule 26.09.2016


Ответы (1)


У тебя получилось, @Jan Reinlink. Для анонимной аутентификации требуется настройка «Пул удостоверений приложений». Я предположил, что, поскольку процесс PHP работал как MyPortal, он использовал те же разрешения.

person MrAngry    schedule 11.10.2016