Як дістатися, коли я додаю доступ до RW IIS_IUSRS до папки, вона автоматично не дозволяє доступ ISW RW?


11

Я використовую IIS7 (Windows Server 2008 x64) і маю налаштування веб-сайту за допомогою анонімної автентифікації. Ідентифікація користувача anon налаштована як IUSR. Додаток записує файли в папку, і я надаю дозволу групи IIS_IUSRS групи RW в папку. Це не працює. Я повинен чітко дати IUSR RW perms, щоб програма могла записуватись у папку.

Я розумію, що ідентифікація пулу програм автоматично додається до групи IIS_IUSRS. Я припускав, що IUSR (або будь-яка анонімна особа користувача) також був неявним членом групи IIS_IUSRS. Здається, це не так.

Під час усунення несправностей я використовую Монітор процесів для перегляду доступу до папки та встановив, що мережева служба (ідентифікація пулу додатків) себе вказує на IUSR (саме це я очікував), але надання RW-perms для групи IIS_IUSRS не дозволило IUSR отримати доступ до файл (доступ заборонено).

Чи може хтось пояснити, чи є IUSR членом групи IIS_IUSRS чи ні?

Я переглянув таку документацію і не знайшов надійної відповіді:

Розуміння вбудованих облікових записів користувачів та груп у IIS 7

Ідентифікатори пулу програм

Відповіді:


14

Це тому, що це дві різні речі. IIS_IUSRS - це група облікових записів робочих процесів IIS . Це означає ідентичність, під якою працює сам пул додатків. IUSR - це анонімна особа користувача. Це означає особу, яку IIS вважає користувачем, який переходить на сайт.

Тепер, навіть якщо ви цього не сказали, дозвольте здогадатися - це додаток класичний asp? (В іншому випадку, якщо це .Net, тоді ви повинні використовувати себе під себе). У будь-якому випадку, що трапляється, це те, що до ресурсів звертаються як до себе особової особи, тобто анонімного користувача у вашому випадку, що означає IUSR. Ось чому ви повинні надати йому права. У .Net, якщо ви вимкнете себе, ви побачите, що IIS_IUSRS прийде в гру, як ви очікуєте. У класичному ASP (і для статичних файлів) у вас немає вибору, себе за себе завжди "ввімкнено"; тому його завжди використовується ідентичність користувача, а не ідентифікація пулу. Отже, оскільки IIS_IUSRS призначений для ідентичності пулу, він не грає.


Редагувати після додавання ОП додаткової інформації:

Легко плутати IUSR та IIS_IUSRS через їхні назви. Щоб побачити, що вони різні, слід пам’ятати, що IIS_IUSRS є заміною IIS_WPG в IIS6, яка була Групою робочих процесів. До цих груп ви додаєте облікові записи, під якими ви хочете запускати свої пули, а не ідентичності, а привілеї anon повинні бути обмеженішими. напр. іноді ви можете використовувати обліковий запис домену для запуску пулу для делегування kerberos на інші мережеві ресурси. Тоді ви додасте цей обліковий запис служби до цієї групи.

Якщо ввімкнути себе, це пул / процес прикидається користувачем, тому що йому було сказано. У разі не автентифікації (ваш випадок) цим користувачем є IUSR. У випадку авторизації Windows, це буде ідентифікатор windows \ домен користувача. Це також, чому ви отримуєте хіт ефективності з себе за себе, оскільки процес має перейти на іншу ідентичність для доступу до ресурсів.

Якщо ви використовуєте .NET та анонімну автентифікацію, я не розумію, чому ви б увімкнули себе, опублікувавши себе. Якщо ви не використовуєте себе або не потребуєте себе в іншому особі, вам слід знати про ще деякі хитрощі у випадку IIS7: ви можете змусити ваш IUSR повністю піти і покінчити з усією плутаниною. Я думаю, що вам це сподобається, і це теж мій кращий метод. Все, що вам потрібно зробити, - це сказати йому, щоб повторно використовувати ідентифікацію пулу як анонімну особу .

Тож після цього вам доведеться мати справу лише з групою IIS_IUSRS. Але не заплутайтеся, це все ще не означає, що ці двоє однакові! Ідентичність процесу може замінити IUSR, але не навпаки!

Ще кілька хитрощів IIS7, про які слід знати: якщо ви подивитеся на IIS_IUSRS, він може бути порожнім. Це тому, що ваші віртуальні ідентичності пулу автоматично додаються до нього при запуску пулу, тому вам не доведеться турбуватися про ці речі.

Ця таблиця повинна допомогти краще уточнити, як визначається ідентичність виконання потоку:

Анонімні анонімні ресурси доступу, доступні як

Увімкнено Увімкнено IUSR_комп'ютер у IIS5 / 6 або,
                                       IUSR в IIS7 або,
                                       Якщо ви змінили обліковий запис користувача anon 
                                       в IIS, що б ви там не встановили
Увімкнено вимкнено MYDOM \ MyName
Вимкнено Увімкнено повноваження NT \ Мережева служба (ідентифікація пулу)
Інваліди з обмеженими можливостями NT Authority \ Network Service (ідентифікація пулу)


Ми визначено, використовуючи .Net (3,5 націлених), але це може бути імперсонація. Мені доведеться проконсультуватися зі своїми розробниками. Моя плутанина випливає з того, що я припустив (неправильно здається), що анонімний ідентифікатор користувача автоматично був членом групи IIS_IUSRS. Так як він тоді не дозволяє мені уточнити і, будь ласка, виправте мене, якщо я надумався.

1) Використовуючи класичний ASP, для дозволу на доступ до файлів використовується анонімна особа користувача. У IIS 7 або новіших версіях цей користувач за замовчуванням не є членом групи IIS_IUSRS. 2) Використовуючи ASP.Net, дозволи на доступ до файлів використовують анонімні ідентифікатори користувача, якщо ввімкнено імперсонацію. У IIS 7 або новіших версіях цей користувач за замовчуванням не є членом групи IIS_IUSRS. 3) Використовуючи ASP.Net, дозволи на доступ до файлів використовують ідентифікацію робочого процесу, якщо вимкнення себе особою вимкнено. У IIS 7 або новіших версіях цей користувач за замовчуванням завжди є членом групи IIS_IUSRS.

Так абсолютно правильно по всіх пунктах! Щоб бути абсолютно зрозумілим, у №1 та №2 слід додати "якщо включено IIS anon auth", який я не повинен був включати раніше, оскільки ви вже говорили, що використовуєте anon. Дивіться таблицю, яку я додав, щоб краще пояснити це.
Аміт Найду

Дуже дякую за роз’яснення цього. Він погоджується з тим, що я виявив за допомогою проб і помилок, але я не бачив цього документально дуже чітко ніде. Це критично важливо для адміністраторів, які використовують LUA на своїх серверах під час налаштування програм IIS, які потребують дозволу на запис.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.