Les permissions dans IIS 7

Définir les droits d'accès de l'ApplicationPoolIdentity

Introduction
Dans IIS 7 sous Windows 7 ou Windows Server 2008, les Applications Pools peuvent tourner sous les privilèges de l'utilisateur "ApplicationPoolIdentity" plutôt que "Network Service".

Par contre, il peut sembler impossible d'assigner des permissions à cet utilisateur car il n'aparaît pas dans la liste des utilisateurs locaux de la machine.

Il s'agit en effet d'une fonctionnalité qui n'est pas encore implémentée dans ces OS. Elle n'est disponible pour l'instant que dans Windows Server 2008 R2.

L'utilisateur DefaultAppPool est maintenant visible dans l'onglet Permissions

La commande ICACLS
Il est heureusement possible d'ajouter cet utilisateur manuellement à l'aide de l'utilitaire ICACLS. Pour assigner l'utilisateur au dossier c:\inetpub\wwwroot, procédez comme suit :

  1. Démarrez un nouveau Command Prompt (Start -> Cmd)
  2. Tapez l'instruction suivante :

icacls c:\inetpub\wwwroot /grant "IIS APPPOOL\DefaultAppPool":(OI)(CI)(RX)

Si tout c'est bien passé, le message suivant apparaît :

processed file: c:\inetpub\wwwroot
Successfully processed 1 files; Failed processing 0 files

Quelques explications sur les paramètres de cette commande :

  • N - no access
  • F - full access
  • M - modify access
  • RX - read and execute access
  • R - read-only access
  • W - write-only access
  • D - delete access
  • DE - delete
  • RC - read control
  • WDAC - write DAC
  • WO - write owner
  • S - synchronize
  • AS - access system security
  • MA - maximum allowed
  • GR - generic read
  • GW - generic write
  • GE - generic execute
  • GA - generic all
  • RD - read data/list directory
  • WD - write data/add file
  • AD - append data/add subdirectory
  • REA - read extended attributes
  • WEA - write extended attributes
  • X - execute/traverse
  • DC - delete child
  • RA - read attributes
  • WA - write attributes
  • (OI) - object inherit
  • (CI) - container inherit
  • (IO) - inherit only
  • (NP) - don't propagate inherit
  • (I) - permission inherited from parent container

Une fois l'opération effectuée, vous pouvez modifier les droits de l'utilisateur DefaultAppPool depuis l'Explorateur de fichiers.

Commentaires