Article ID: 904056 - Last Review: December 3, 2007 - Revision: 1.2 You may receive an error message when you try to start a CGI program that is hosted on IIS 6Important This article contains information about editing the metabase. Before you edit the metabase, verify that you have a backup copy that you can restore if a problem occurs. For information about how to do this, see the "Configuration Backup/Restore" Help topic in Microsoft Management Console (MMC).
On This PageSYMPTOMSWhen you try to start a Common Gateway Interface (CGI) program that is hosted on Microsoft Internet Information Services (IIS) 6, you may receive an error message that is similar to one of the following: The configured user for the current application pool does not have enough privileges to run CGIs Http 403-Forbidden: Access is denied CAUSEThis problem may occur if the application pool security account does not have the "Adjust memory quotas for a process" user right or the "Replace a process level token" user right. RESOLUTIONTo resolve this problem, use one of the following methods. Warning If you edit the metabase incorrectly, you can cause serious problems that may require you to reinstall any product that uses the metabase. Microsoft cannot guarantee that problems that result if you incorrectly edit the metabase can be solved. Edit the metabase at your own risk. Note Always back up the metabase before you edit it. Method 1: Set the CreateProcessAsUser metabase setting to falseTo set the CreateProcessAsUser metabase setting to false, follow these steps:
Method 2: Grant the required user right to the application pool security accountTo resolve this problem, grant the required user right to the application pool security account. To do this, use one of the following methods.Method 2a: Use the Domain Controller Security Policy toolIf the computer is a domain controller, follow these steps:
Method 2b: Use the Group Policy Object EditorIf the computer is a member of a domain, follow these steps:
Method 2c: Use the Local Security Settings toolIf the computer is not a member of a domain, follow these steps:
STATUS
This behavior is by design. MORE INFORMATIONIn IIS 6, the authenticated user account is used to start CGI programs. If the Web site accepts anonymous users, CGI programs run by using the anonymous user account instead of the security account for the application pool. If the CreateProcessAsUser metabase property is set to false, the application pool security account is used to start the CGI program. The default security account for an application pool is the Network Service security account. The Network Service security account has the "Adjust memory quotas for a process" user right or the "Replace a process level token" user right. Additionally, the IWAM account for the computer and the Local Service accounts also have these user rights. If you change the application pool security account, the CGI program may not work as expected. For example, if you add a user to the IIS_WPG group, and this user does not have the "Adjust memory quotas for a process" user right or the "Replace a process level token" user right, the CGI program may not work as expected.
| Article Translations
|
Back to the top
