Jeg har nettopp flyttet fra IIS6 på Win2003 til IIS8 på Win2012 for hosting av ASP.NET-applikasjoner.
Innenfor en bestemt mappe i applikasjonen min må jeg opprette og slette filer. Etter å ha kopiert filene til den nye serveren, fortsatte jeg å se følgende feil når jeg prøvde å slette filer:
Tilgang til banen 'D:\WebSites\myapp.co.uk\companydata\filename.pdf' er nektet.
Når jeg sjekker IIS, ser jeg at applikasjonen kjører under DefaultAppPool-kontoen, men jeg har aldri satt opp Windows-tillatelser på denne mappen for å inkludere IIS AppPool\DefaultAppPool.
I stedet, for å stoppe skrikende kunder, ga jeg følgende tillatelser på mappen:
IUSR
IIS_IUSRS
Dette ser ut til å ha fungert, men jeg er bekymret for at det er angitt for mange privilegier. Jeg har lest motstridende informasjon på nettet om hvorvidt IUSR i det hele tatt er nødvendig her. Kan noen avklare hvilke brukere / tillatelser som er tilstrekkelig for å opprette og slette dokumenter i denne mappen? Er IUSR også en del av IIS_IUSRS-gruppen?
Vennligst se mitt svar nedenfor. Jeg har dessverre vært nødt til å gjøre dette ettersom noen av de siste forslagene ikke var gjennomtenkte eller til og med trygge (IMO).
IUSR er en del av IIS_IUSER group.så jeg antar at du kan fjerne tillatelsene for IUSR uten å bekymre deg. Videre lesing
Det oppsto imidlertid et problem over tid da flere og flere Windows-systemtjenester begynte å kjøre som NETWORKSERVICE. Dette skyldes at tjenester som kjører som NETWORKSERVICE kan tukle med andre tjenester som kjører under samme identitet. Fordi IIS-arbeidsprosesser kjører tredjepartskode som standard (Classic ASP, ASP.NET, PHP-kode), var det på tide å isolere IIS-arbeidsprosesser fra andre Windows-systemtjenester og kjøre IIS-arbeidsprosesser under unike identiteter. Windows-operativsystemet har en funksjon kalt "virtuelle kontoer" som gjør det mulig for IIS å opprette unike identiteter for hver av applikasjonspoolene. DefaultAppPool er standardutvalget som tilordnes alle applikasjonsutvalg du oppretter.
For å gjøre det sikrere kan du endre IIS DefaultAppPool Identity til ApplicationPoolIdentity.
Når det gjelder tillatelser, oppsummerer Create and Delete alle rettighetene som kan gis. Så uansett hva du har tilordnet IIS_USERS-gruppen, er det de vil kreve. Ikke noe mer, ikke noe mindre.
Håper dette hjelper.
@EvilDr Du kan opprette en IUSR[identifikator]-konto i AD-miljøet ditt og la den aktuelle applikasjonsgruppen kjøre under denne IUSR[identifikator]-kontoen:
"Applikasjonsutvalg" > "Avanserte innstillinger" > "Identitet" > "Tilpasset konto"
Sett nettstedet ditt til "Application user (pass-through authentication)" og ikke "Specific user" i Avanserte innstillinger.
Gi nå IUSR_[identifikator] de riktige NTFS-tillatelsene på filer og mapper, for eksempel: endre på bedriftsdata.
Jeg vil bruke spesifikk bruker (og IKKE applikasjonsbruker). Deretter vil jeg aktivere etterligning i applikasjonen. Når du har gjort det, uansett hvilken konto som er angitt som den spesifikke brukeren, vil disse legitimasjonene brukes til å få tilgang til lokale ressurser på den serveren (ikke for eksterne ressurser).
Spesifikk brukerinnstilling er spesielt ment for tilgang til lokale ressurser.