Autorisations du dossier IIS7 pour l'application Web

91

J'utilise l'authentification Windows sans usurpation d'identité sur le site Web intranet de mon entreprise avec IIS7.

Sous IIS7, quel compte est utilisé pour accéder au dossier qui contient mon application Web à l'aide de ces paramètres?

Serait-ce IIS_IUSRS? Ou SERVICE RÉSEAU? Ou un autre que je ne connais pas?

Andrew
la source
Double
KyleMit

Réponses:

127

Dans IIS 7 (pas IIS 7.5), les sites accèdent aux fichiers et aux dossiers en fonction du compte défini sur le pool d'applications du site. Par défaut, dans IIS7, ce compte est NETWORK SERVICE.

Spécifier une identité pour un pool d'applications (IIS 7)

Dans IIS 7.5 (Windows 2008 R2 et Windows 7), les pools d'applications s'exécutent sous ApplicationPoolIdentity qui est créé au démarrage du pool d'applications. Si vous souhaitez définir ACLS pour ce compte, vous devez choisir à la IIS AppPool\ApplicationPoolNameplace de NT Authority\Network Service.

Thomas
la source
34
Notez que ce n'est pas littéralement IIS AppPool\ApplicationPoolName, mais IIS AppPool\<yourpoolname>.
Jeff S
21
Dans IIS 7.5, l'identité par défaut d'un pool d'applications est ApplicationPoolIdentity. ApplicationPoolIdentity représente un compte d'utilisateur Windows appelé «IIS APPPOOL \ AppPoolName», qui est créé lors de la création du pool d'applications, où AppPoolName est le nom du pool d'applications. L'utilisateur "IIS APPPOOL \ [AppPoolName]" est par défaut membre du groupe IIS_IUSRS. Vous devez donc accorder un accès en écriture au groupe
IIS_IUSRS
Les utilisateurs de versions plus récentes de Windows peuvent trouver cet article utile pour configurer le compte «AppPool \ DefaultAppPool» s'ils ont un problème similaire: iis.net/learn/manage/configuring-security/… . Cela permet également d'éviter l'erreur que j'ai obtenue après la mise à jour de Windows 8 vers 8.1, où il est dit: "Une erreur s'est produite lors du chargement d'un fichier de configuration: échec du démarrage de la surveillance des modifications de [chemin complet du fichier] car l'accès est refusé.".
Matty J
J'ai donné l'autorisation complète au pool d'applications ... mais j'obtiens toujours l'accès refusé.
Yousi
26

http://forums.iis.net/t/1187650.aspx a la réponse. La définition de l'authentification iis sur l'identité du pool d'applications résoudra ce problème.

Dans l'authentification IIS, l'authentification anonyme a été définie sur "Utilisateur spécifique". Lorsque je l'ai changé en Application Pool, je peux accéder au site.

Pour définir, cliquez sur votre site Web dans IIS et double-cliquez sur «Authentification». Cliquez avec le bouton droit sur "Authentification anonyme" et cliquez sur l'option "Modifier ...". Passez de «Utilisateur spécifique» à «Identité du pool d'applications». Vous devriez maintenant pouvoir définir les autorisations de fichier et de dossier à l'aide de IIS AppPool \ {Your App Pool Name}.

Nat
la source
3
Cela a énormément aidé. Si vous ne modifiez pas l'authentification anonyme de «Utilisateur spécifique» à «Identité du pool d'applications», vos modifications d'autorisation ne seront pas prises en compte lors de la définition des autorisations IIS AppPool \ {Votre nom de pool d'applications}.
David
OH MON DIEU. Personne ne semble comprendre cela. Cela a résolu des heures de fouille.
Joe Swindell
19

En exécutant IIS 7.5, j'ai eu la chance d'ajouter des autorisations pour l'utilisateur de l'ordinateur local IUSR . L'utilisateur du pool d'applications n'a pas fonctionné.

Kenny Evitt
la source
16

Si cela peut aider quelqu'un, donnez la permission au groupe "IIS_IUSRS".

Notez que si vous ne trouvez pas "IIS_IUSRS", essayez de le faire précéder du nom de votre serveur, comme "MySexyServer \ IIS_IUSRS".

JohnnyFun
la source
Cela l'a fait pour moi. Il me manquait le nom du serveur et je n'avais encore vu personne le mentionner.
drichardson
Pour cela, vous pouvez toujours utiliser la notation locale ". \ IIS_IUSRS"
Bernhard
3

A travaillé pour moi en 30 secondes, court et doux:

  1. Dans IIS Manager (exécutez inetmgr)
  2. Accédez à ApplicationPool -> Paramètres avancés
  3. Définissez ApplicationPoolIdentity sur NetworkService
  4. Accédez au fichier, cliquez avec le bouton droit sur les propriétés, accédez à la sécurité, cliquez sur modifier, cliquez sur ajouter, entrez Service réseau (avec un espace, puis cliquez sur `` vérifier les noms '') et donnez un contrôle total (ou tout simplement les autorisations dont vous avez besoin)
Jason Hitchings
la source
Cela l'a fait! Merci
Yazan Khalaileh
1
  1. Travailler sur IIS 7.5 et Windows 7 je n'ai pas pu donner la permission APPPOOL / Mypool
  2. Les autorisations IUSR et IIS_IUSRS ne fonctionnent pas pour moi
  3. J'ai eu le problème de cette façon:

    -Création d'une application console avec C #
    -Cette appliaction utilisant createeventsource comme ceci

    if (! System.Diagnostics.EventLog.SourceExists (sourceName)) System.Diagnostics.EventLog.CreateEventSource (sourceName, logName);

    -Construire la solution et obtenir le fichier .exe

    -Exécutez exe en tant qu'administrateur.Ce fichier journal de création.

REMARQUE: ne vous souvenez pas que l'observateur d'événements doit être actualisé pour voir le journal.

J'espère que cette solution aide quelqu'un :)

Alper Tunga Arslan
la source