IIS uprawnienia IUSRS i IUSR w IIS8

Właśnie przeniosłem się z IIS6 na Win2003 do iis8 na Win2012 na hosting ASP.NET aplikacje.

W jednym konkretnym folderze w mojej aplikacji muszę utworzyć i usunąć Pliki. Po skopiowaniu plików na nowy serwer, podczas próby usunięcia plików widziałem następujące błędy:

Dostęp do ścieżki "D:\WebSites\myapp.co.uk\companydata\filename.pdf odmawiam.

Kiedy sprawdzam IIS widzę, że aplikacja działa pod konto DefaultAppPool, jednak nigdy nie ustawiłem uprawnień Windows w tym folderze, aby zawierać IIS AppPool \ DefaultAppPool

Zamiast tego, aby przestać krzyczeć klientów, przyznałem następujące uprawnienia do folderu:

IUSR

  • Read & Execute
  • Spis Zawartości Folderu
  • Czytaj
  • napisz

IIS_IUSRS

  • Modyfikuj
  • Read & Execute
  • Katalog List Spis treści
  • Czytaj
  • napisz

Wydaje się, że to zadziałało, ale obawiam się, że ustawiono zbyt wiele przywilejów. Czytałem w Internecie sprzeczne informacje o tym, czy IUSR jest w ogóle potrzebny tutaj. Czy ktoś może wyjaśnić, którzy użytkownicy / uprawnienia wystarczą, aby utworzyć i usunąć dokumenty w tym folderze? Czy IUSR jest częścią grupy IIS_IUSRS?

Update & Solution

Proszę zobaczyć moją odpowiedź poniżej . Ja musiałem to zrobić niestety, ponieważ niektóre ostatnie sugestie nie były dobrze przemyślane, a nawet bezpieczne (IMO).

Author: Community, 2013-02-18

6 answers

Nienawidzę zamieszczać własnych odpowiedzi, ale niektóre Odpowiedzi Ostatnio zignorowały rozwiązanie, które zamieściłem w moim własnym pytaniu, sugerując podejścia, które są niczym innym jak ryzykowne.

W skrócie - nie musisz w ogóle edytować żadnych uprawnień konta użytkownika Windows. To tylko stwarza ryzyko. Proces jest w całości zarządzany w IIS przy użyciu odziedziczonych uprawnień.

Stosowanie uprawnień do modyfikacji / zapisu do poprawnego Użytkownika Konto

  1. Kliknij prawym przyciskiem myszy domenę, gdy pojawi się ona na liście witryn, i wybierz Edytuj uprawnienia

    Tutaj wpisz opis obrazka

    W zakładce Bezpieczeństwo zobaczysz listę MACHINE_NAME\IIS_IUSRS. Oznacza to, że usługa IIS automatycznie ma uprawnienia tylko do odczytu w katalogu (np. do uruchomienia ASP.Net w miejscu). nie musisz edytować tego wpisu .

    Tutaj wpisz opis obrazka

  2. Kliknij przycisk Edytuj , a następnie Dodaj...

  3. W polu tekstowym wpisz IIS AppPool\MyApplicationPoolName, zastępując MyApplicationPoolName nazwą domeny lub dowolną pulą aplikacji dostępującą do twojej witryny, np. IIS AppPool\mydomain.com

    Tutaj wpisz opis obrazka

  4. Naciśnij przycisk Sprawdź nazwy. Tekst, który wpisałeś, przekształci się (zwróć uwagę na podkreślenie):

    Tutaj wpisz opis obrazka

  5. Naciśnij OK {[12] } aby dodać użytkownika

  6. Po wybraniu nowego użytkownika (Twojej domeny), teraz możesz bezpiecznie podaj dowolne zmodyfikuj lub napisz uprawnienia

    Tutaj wpisz opis obrazka

 156
Author: EvilDr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-17 09:25:50

IUSR jest częścią IIS_IUSER group.so myślę, że możesz usunąć uprawnienia do IUSR bez martwienia się. Czytaj Dalej

Jednak z czasem pojawił się problem, ponieważ coraz więcej usług systemowych Windows zaczęło działać jako usługa sieciowa. Dzieje się tak dlatego, że usługi działające jako usługi sieciowe mogą manipulować innymi usługami, które działają pod tą samą tożsamością. Ponieważ procesy IIS worker domyślnie uruchamiają Kod innych firm (Klasyczny ASP, ASP.NET, kod PHP), nadszedł czas na wyizolowanie IIS worker przetwarza z innych usług systemowych Windows i uruchamia procesy worker usługi IIS pod unikalnymi tożsamościami. System operacyjny Windows udostępnia funkcję o nazwie "konta wirtualne", która umożliwia IIS tworzenie unikalnych tożsamości dla każdej z pul aplikacji. DefaultAppPool jest domyślnie przypisany do całej puli aplikacji, którą tworzysz.

Aby uczynić go bardziej bezpiecznym, możesz zmienić domyślną tożsamość IISAPPOOL na ApplicationPoolIdentity.

Odnośnie pozwolenia, Utwórz i usuń podsumowuje wszystkie prawa, które można przyznać. Więc cokolwiek przypisałeś do grupy IIS_USERS, będzie to wymagało. Nic więcej, nic mniej.

Mam nadzieję, że to pomoże.

 50
Author: Travis G,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-28 09:37:48

Kiedy dodałem uprawnienia IIS_IUSRS do folderu strony-zasoby, takie jak JS i css, nadal były niedostępne(Błąd 401, zabronione). Jednak kiedy dodałem IUSR-stało się ok. Więc na pewno "nie możesz usunąć uprawnień dla IUSR bez martwienia się", drogi @ Travis g@

 6
Author: Alexander,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-11 11:37:32

@ EvilDr Możesz utworzyć konto IUSR_ [identifier] w swoim środowisku reklamowym i pozwolić na uruchomienie określonej puli aplikacji pod tym kontem IUSR_ [identifier]:

"Pula aplikacji" > "Ustawienia zaawansowane" > "tożsamość" > "konto niestandardowe"

Ustaw swoją witrynę na " Applicaton user (pass-through authentication)", a nie" konkretny użytkownik", w Ustawieniach zaawansowanych.

Podaj teraz, że iusr_ [identyfikator] odpowiednie uprawnienia NTFS dla plików i folderów, na przykład: Modyfikuj Dane firmy.

 4
Author: Jan Reilink,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-21 13:23:56

Grupa IIS_IUSRS ma znaczenie tylko wtedy, gdy używasz identyfikatora ApplicationPool. Nawet jeśli ta grupa wygląda na pustą w czasie wykonywania IIS dodaje do tej grupy, aby uruchomić proces roboczy zgodnie z literaturą microsoft.

 3
Author: Ashburn RK,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-29 14:56:48

Użyłbym konkretnego użytkownika (a nie Użytkownika Aplikacji). Następnie włączę podszywanie się w aplikacji. Gdy to zrobisz, niezależnie od tego, jakie konto jest ustawione jako konkretny użytkownik, te poświadczenia będą używane do dostępu lokalnych zasobów na tym serwerze (nie dla zasobów zewnętrznych).

Specyficzne ustawienie użytkownika jest przeznaczone specjalnie do dostępu do lokalnych zasobów.

 0
Author: developer747,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-24 01:20:48