IIS7 permissions Overview-ApplicationPoolIdentity

nous avons récemment mis à niveau à IIS7 en tant que serveur web de base et j'ai besoin d'un aperçu en termes de permissions. Auparavant, lorsque j'avais besoin d'écrire dans le système de fichiers, j'aurais donné à L'utilisateur D'AppPool (Service réseau) l'accès au répertoire ou au fichier.

Dans IIS7 je vois, en tant que par défaut, le pool d'applications de l'utilisateur est réglé sur ApplicationPoolIdentity . Donc quand je regarde le Gestionnaire des tâches, je vois qu'un compte d'utilisateur appelé WebSite.com " exécute le processus IIS ("Website.com" étant le nom le site Web dans IIS)

Cependant ce compte d'utilisateur n'existe pas, si j'essaie de l'utiliser pour donner des autorisations. Alors, comment puis-je déterminer quel utilisateur donner les permissions aussi?

Modifier ==============================================================================

voir ci-dessous pour le problème dans screen shot. Notre site web (www.silverchip.co.uk) fonctionne sous le nom D'utilisateur SilverChip.co.Royaume-Uni. Cependant quand j'ajoute pemissions, cet utilisateur fait existent!

enter image description here

=================================Voir Le Pool D'Applications De L'Image

enter image description here

298
demandé sur Kevin 2011-09-07 16:54:22

8 réponses

ApplicationPoolIdentity est en fait la meilleure pratique à utiliser dans IIS7. Il s'agit d'un compte non privilégié créé dynamiquement. Pour ajouter la sécurité du système de fichiers pour un pool d'applications particulier, voir IIS.net's" Application Pool Identities" . La version rapide:

si le pool d'applications est nommé "DefaultAppPool" (il suffit de remplacer ce texte ci-dessous s'il est nommé différemment)

  1. Ouvrez L'Explorateur Windows
  2. Sélectionnez un fichier ou un répertoire.
  3. faites un clic droit sur le fichier et sélectionnez "Propriétés
  4. sélectionnez l'onglet "Sécurité
  5. cliquez sur le bouton "Modifier" puis sur le bouton" Ajouter
  6. cliquez sur le bouton" localisations "et assurez-vous de sélectionner la machine local . ( pas le domaine Windows si le serveur appartient à un.)
  7. Enter " IIS AppPool\DefaultAppPool " dans la zone de texte " Entrez les noms des objets pour sélectionner:". (N'oubliez pas de changer "DefaultAppPool" ici à ce que vous avez appelé votre piscine d'application.)
  8. cliquez sur le bouton " Vérifier les noms "et cliquez sur"OK".
562
répondu Jon Adams 2018-07-19 20:18:34

N'oubliez pas d'utiliser le nom local du serveur, pas le nom de domaine, lors de la résolution du nom "IIS AppPool\DefaultAppPool" (juste un rappel parce que cela m'a fait trébucher un peu): enter image description here

57
répondu James Toomey 2015-03-19 19:27:30

sur Windows Server 2008(r2) vous ne pouvez pas assigner une identité de pool d'application à un dossier par Propriétés->Sécurité. Vous pouvez le faire par l'intermédiaire d'une invite de commande admin en utilisant la commande suivante:

icacls "c:\yourdirectory" /t /grant "IIS AppPool\DefaultAppPool":(R)
22
répondu Chris 2014-06-30 12:57:00

Donnant accès à la IIS AppPool\YourAppPoolName utilisateur peut être pas assez avec IIS configurations par défaut.

dans mon cas, j'avais encore l'erreur erreur HTTP 401.3 - non autorisé après l'ajout de L'utilisateur AppPool et il a été corrigé seulement après l'ajout des permissions à l'utilisateur IUSR .

Ceci est nécessaire parce que, par défaut, l'accès Anonyme est fait en utilisant le IUSR . Vous pouvez définir un autre utilisateur spécifique, le Pool D'applications ou continuer à utiliser L'IUSR, mais n'oubliez pas de définir les permissions appropriées.

authentication tab

Crédits à cette réponse: Erreur HTTP 401.3 - non autorisé

18
répondu Zanon 2017-05-23 11:33:26

Top Answer de Jon Adams

Ici est de savoir comment mettre en œuvre ce pour le PowerShell gens

$IncommingPath = "F:\WebContent"
$Acl = Get-Acl $IncommingPath
$Ar = New-Object  system.security.accesscontrol.filesystemaccessrule("IIS AppPool\DefaultAppPool","FullControl","ContainerInherit, ObjectInherit", "None", "Allow")
$Acl.SetAccessRule($Ar)
Set-Acl $IncommingPath $Acl
2
répondu Chris Mills 2016-01-27 18:40:33

juste pour ajouter à la confusion, la boîte de dialogue des Permissions effectives (Explorateur Windows) ne fonctionne pas pour ces logins. J'ai un site "Umbo4" en utilisant l'authentification de passage, et j'ai regardé les Permissions effectives de l'utilisateur dans le dossier racine du site. Le test de noms de contrôle a résolu le nom "IIS AppPool\Umbo4", mais les Permissions effectives montrent que l'utilisateur n'avait pas de permissions du tout sur le dossier (Toutes les cases à cocher non cochées).

j'ai alors exclu cet utilisateur de la dossier explicitement, en utilisant L'onglet Sécurité de L'Explorateur. Cela a entraîné la défaillance du site avec une erreur HTTP 500.19, comme prévu. Les Autorisations Effectives cependant regardé exactement comme avant.

1
répondu StuartN 2015-01-06 14:57:51

j'ai réparé tous mes asp.net problèmes simplement en créant un nouvel utilisateur appelé IUSER avec un mot de passe et l'a ajouté le service réseau et les groupes D'utilisateurs. Ensuite, créez TOUS vos sites virtuels et applications définissez l'authentification à IUSER avec son mot de passe.. définir l'accès au fichier de haut niveau pour inclure IUSER et BAM il a corrigé au moins 3-4 problèmes, y compris celui-ci..

Dave

1
répondu David Granic 2016-07-12 23:23:30

Partie A: Configuration de votre Application Pool

supposons que le Pool D'applications s'appelle "MyPool" Aller à 'Paramètres avancés' de la piscine D'Application de L'IIS Manager

  1. faites Défiler jusqu'à "Identité". Essayez de modifier la valeur fera apparaître une boîte de dialogue. Sélectionnez "Compte intégré" et, en dessous, sélectionnez "ApplicationPoolIdentity".

  2. quelques lignes sous 'Identity', vous trouverez'Load User Profile'. Cette valeur doit être définie à 'True'.

Partie B: Configuration de votre site web

  1. nom du site Web: SiteName (juste un exemple)
  2. chemin physique: C:\Whatever (juste un exemple)
  3. se Connecter en tant que... : Application Utilisateur (authentification pass-through) (Les paramètres ci-dessus peuvent être trouvés dans la Base Paramètres du site dans le Gestionnaire IIS)
  4. après avoir configuré les paramètres de base, recherchez la configuration "authentification" sous " IIS " dans la console principale du site. De l'ouvrir. Vous devriez voir une option "Authentification Anonyme'. Assurez-vous qu'il est activé. Puis clic droit et " Modifier...' il. Sélectionnez 'Identité Du Pool D'Applications'.

Partie C: Configuration de votre dossier

le dossier dans la question Est: C:\Whatever

  1. allez à Propriétés-partage-Partage avancé-Permissions, et cochez "partager ce dossier"
  2. Dans la même boîte de dialogue, vous trouverez un bouton "Droits". Cliquez sur elle.
  3. Une nouvelle boîte de dialogue s'ouvre. Cliquez Sur "Ajouter".
  4. une nouvelle boîte de dialogue 'Select Users or Groups' s'ouvrira. Sous "de cet endroit", assurez-vous que le nom est le même que celui de votre ordinateur hôte local. Puis, sous 'entrer les noms d'objets', tapez 'IIS AppPool\MyPool' et cliquez sur 'Vérifier les noms' puis ' Ok '
  5. donne toutes les permissions de partage pour l'utilisateur 'MyPool'. Appliquez - le et fermez le dossier Propriétés
  6. ouvrir à nouveau les propriétés du dossier. Cette fois, allez à Security - Advanced - Permission, et cliquez sur Add. Il y aura une option "Sélectionnez l'un des Principaux", en haut, ou une autre option de choisir un utilisateur. Cliquez sur elle.
  7. Le", Sélectionnez les Utilisateurs ou les Groupes boîte de dialogue s'ouvre à nouveau. Répétez l'étape 4.
  8. donnez toutes ou autant de permissions dont vous avez besoin à l'utilisateur 'MyPool'.
  9. Case " Remplacer tous les enfants autorisations de l'objet..."et appliquer et fermer.

Vous devriez maintenant être en mesure d'utiliser pour parcourir le site web

1
répondu Dibyodyuti Mondal 2018-06-11 07:59:31