---
name: "pam_usertype"
section: "8"
platform: "linux"
package: "pam"
version: "1.7.3-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/pam_usertype"
---

# pam\_usertype(8)

check if the authenticated user is a system or regular account

## NAME

pam\_usertype - check if the authenticated user is a system or regular account

## SYNOPSIS

**pam\_usertype.so** \[*flag*...\] {*condition*}

## DESCRIPTION

pam\_usertype.so is designed to succeed or fail authentication based on type of the account of the authenticated user. The type of the account is decided with help of *SYS\_UID\_MAX* settings in */etc/login.defs*. One use is to select whether to load other modules based on this test.

The module should be given only one condition as module argument. Authentication will succeed only if the condition is met.

## OPTIONS

The following *flag*s are supported:

use\_uid

Evaluate conditions using the account of the user whose UID the application is running under instead of the user being authenticated.

audit

Log unknown users to the system log.

Available *condition*s are:

issystem

Succeed if the user is a system user.

isregular

Succeed if the user is a regular user.

## MODULE TYPES PROVIDED

All module types (**account**, **auth**, **password** and **session**) are provided.

## RETURN VALUES

PAM\_SUCCESS

The condition was true.

PAM\_BUF\_ERR

Memory buffer error.

PAM\_CONV\_ERR

The conversation method supplied by the application failed to obtain the username.

PAM\_INCOMPLETE

The conversation method supplied by the application returned PAM\_CONV\_AGAIN.

PAM\_AUTH\_ERR

The condition was false.

PAM\_SERVICE\_ERR

A service error occurred or the arguments can't be parsed correctly.

PAM\_USER\_UNKNOWN

User was not found.

## EXAMPLES

Skip remaining modules if the user is a system user:

```
account sufficient pam_usertype.so issystem
```

## SEE ALSO

[**login.defs**(5)](/login.defs/5.md), [**pam**(8)](/pam/8.md)

## AUTHOR

Pavel Březina \<pbrezina@redhat.com\>
