Ik ben net overgestapt van IIS6 op Win2003 naar IIS8 op Win2012 voor het hosten van ASP.NET toepassingen.
Binnen een bepaalde map in mijn applicatie moet ik bestanden maken en verwijderen. Na het kopiëren van de bestanden naar de nieuwe server, bleef ik de volgende fouten zien wanneer ik bestanden probeerde te verwijderen:
Toegang tot het pad 'D:\WebSitesmyapp.co.uk:companydata.pdf' is geweigerd.
Wanneer ik IIS controleer zie ik dat de applicatie draait onder de DefaultAppPool account, echter, ik heb nooit Windows rechten ingesteld op deze map om IIS AppPoolDefaultAppPool
In plaats daarvan heb ik, om schreeuwende klanten tegen te houden, de volgende permissies op de map gezet:
IUSR
IIS_IUSRS
Dit lijkt te hebben gewerkt, maar ik ben bezorgd dat er te veel rechten zijn ingesteld. Ik'heb tegenstrijdige informatie online gelezen over de vraag of IUSR hier eigenlijk wel nodig is. Kan iemand mij vertellen welke gebruikers/rechten voldoende zijn om documenten in deze map aan te maken en te verwijderen? En, maakt IUSR deel uit van de IIS_IUSRS groep?
Zie mijn antwoord hieronder. Ik'heb dit helaas moeten doen omdat sommige recente suggesties niet goed doordacht waren, of zelfs veilig (IMO).
IUSR is onderdeel van de IIS_IUSER groep, dus ik denk dat je de rechten voor IUSR wel kunt verwijderen zonder je zorgen te maken. Verdere lezing
Na verloop van tijd ontstond er echter een probleem toen meer en meer Windows systeemdiensten begonnen te draaien als NETWORKSERVICE. Dit komt doordat diensten die als NETWORKSERVICE draaien, kunnen knoeien met andere diensten die onder dezelfde identiteit draaien. Omdat IIS-werkprocessen standaard code van derden uitvoeren (klassieke ASP, ASP.NET, PHP-code), werd het tijd om IIS-werkprocessen te isoleren van andere Windows systeemdiensten en IIS-werkprocessen onder unieke identiteiten uit te voeren. Het Windows besturingssysteem biedt een functie genaamd "Virtual Accounts" waarmee IIS unieke identiteiten kan aanmaken voor elk van zijn Application Pools. DefaultAppPool is de standaardpool die wordt toegewezen aan alle Application Pool die u maakt.
Om het veiliger te maken kun je de IIS DefaultAppPool Identity veranderen in ApplicationPoolIdentity.
Met betrekking tot rechten, Create en Delete worden alle rechten samengevat die kunnen worden gegeven. Dus wat je ook aan de IIS_USERS groep hebt toegekend, dat is wat ze nodig zullen hebben. Niets meer, niets minder.
Ik hoop dat dit helpt.
@EvilDr U kunt een IUSR[identifier] account aanmaken binnen uw AD omgeving en de betreffende applicatiepool onder die IUSR[identifier] account laten draaien:
"Application pool" > "Advanced Settings" > "Identity" > "Custom account"
Stel uw website in op "Applicatie gebruiker (pass-through authenticatie)" en niet "Specifieke gebruiker", in de Geavanceerde Instellingen.
Geef die IUSR_[identifier] nu de juiste NTFS rechten op bestanden en mappen, bijvoorbeeld: wijzigen op bedrijfsgegevens.
Ik zou een specifieke gebruiker gebruiken (en NIET de gebruiker van de toepassing). Dan zal ik inschakelen impersonatie in de toepassing. Zodra u dat doet, welke account is ingesteld als de specifieke gebruiker, zouden die referenties worden gebruikt voor toegang tot lokale bronnen op die server (niet voor externe bronnen).
Specifieke gebruiker instelling is specifiek bedoeld voor toegang tot lokale bronnen.