IIS Usrs

Published
Length
3 min read

Luis Felipe Dias

All posts

The iis usrs group is a built-in Windows group for web worker processes. It grants read and run rights to app pools without manual account setup. Many teams grant this group full write rights across entire web folders. That broad setup lets one bad web app change files across the whole server. How iis usrs works with app pool identities Windows creates this built-in group when you install the web server role. Every time an app pool starts, Windows creates a virtual identity for it. Windows ad

Usrs: the complete guide

Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.

Free white paper. No spam. Unsubscribe anytime.

The iis usrs group is a built-in Windows group for web worker processes. It grants read and run rights to app pools without manual account setup. Many teams grant this group full write rights across entire web folders. That broad setup lets one bad web app change files across the whole server.

How iis usrs works with app pool identities

Windows creates this built-in group when you install the web server role. Every time an app pool starts, Windows creates a virtual identity for it. Windows adds that virtual identity into the iis usrs group right away. You do not need to manage passwords for these virtual accounts.

The group holds the base file rights needed to run a web site. When a user visits your site, the worker process reads the web files. It uses the group membership to pass the folder security check. This design replaces older web accounts from early Windows server versions.

Each app pool also gets its own unique security identifier at startup. You can grant folder write rights to one app pool identifier alone. Keep the main group restricted to read and execute rights on web folders. This split stops one web site from reading data in another site folder.

What native file permissions solve and what they miss

Native Windows group rules handle local disk security very well. They decide which worker process can read or write a local file. They also help admins set up new web servers with less manual work. A clean setup keeps worker processes inside their own local disk folders.

Still, local file groups only check who opens a folder on the disk. They do not inspect what an admin or app does during a session. A support engineer with server login rights can still change any web file. Native group rules also cannot control how apps query a backend database.

Usrs: architecture patterns and best practices

Continue reading? Get the full guide.

Free. No spam. Unsubscribe anytime.

Teams often share server admin accounts to fix broken folder rights fast. Once someone logs in as an admin, local group limits do not apply. You lose visibility into which person ran a command or changed a rule. You also cannot mask sensitive fields like emails or card numbers in flight.

Best practices for locking down web worker groups

Start by auditing every folder that grants rights to the web group. Remove write and modify rights from all code and binary folders right away. Only grant write rights on specific upload or temp folders when required. Even then, assign write rights to the single app pool identity instead.

Next, separate how your team manages servers from how web apps run. Do not let developers log in with shared admin keys to check logs. Use role checks that tie every command and query to one real person. Keep local group rules strict and review folder rights after every deploy.

Check database and API queries on the wire

Identity tools, roles, and network rules decide who opens a session. Setup alone cannot check what each query does or mask sensitive values in a response once a session starts. When workflows touch Postgres, MySQL, SQL Server, MongoDB, ClickHouse, Kubernetes APIs, SSH, or internal HTTP APIs, hoop.dev runs beside those services as an open-source proxy, a sidecar for your Postgres or API. It inspects requests coming in and results going back on the wire.

Your login details and client tools stay as they are while hoop.dev guardrails refuse bad deletes or drops before they run. On responses, hoop.dev data masking rewrites matched sensitive values in memory. Furthermore, hoop.dev holds SOC 2 Type II, is MIT licensed, and writes every query and decision to an audit trail that generates evidence for HIPAA, GDPR, and PCI DSS. See the source on GitHub.

Frequently asked questions

What is the difference between the web group and the anonymous user account?

The anonymous user account represents a visitor browsing a public web page. The built-in web group represents the worker process that runs the site code. Windows checks both identities when a visitor requests a file without logging in.

Should I give the built-in web group write access to my site root?

No, never give the shared group write rights to your main site folder. If an attacker compromises one site, they could rewrite code for all sites. Grant write rights only to a single app pool on one upload folder.

Do I need to set a password for the built-in web group?

No, because a security group does not have a password in Windows. The worker processes use virtual accounts that Windows creates and rotates on its own. You just assign folder rights to the group name in the file properties.

Save the open-source gateway.

hoop is MIT-licensed infrastructure for controlling how AI agents reach production data. Star hoophq/hoop so you can inspect it, deploy it, or share it when your team starts governing agent access.