6.33. pam_shells - check for valid login shell
Prev | Chapter 6. A reference guide for available modules | Next

## 6.33. pam_shells - check for valid login shell

`pam_shells.so`

### 6.33.1. DESCRIPTION

pam_shells is a PAM module that only allows access to the system if the user's shell is listed in `/etc/shells`.

If this file does not exist, entries are taken from files `%vendordir%/shells`, `%vendordir%/shells.d/*` and `/etc/shells.d/*` in that order.

It also checks if needed files (e.g. `/etc/shells`) are plain files and not world writable.

### 6.33.2. OPTIONS

This module does not recognise any options.

### 6.33.3. MODULE TYPES PROVIDED

The `auth` and `account` module types are provided.

### 6.33.4. RETURN VALUES

PAM_AUTH_ERR

  Access to the system was denied.

PAM_SUCCESS

  The user's login shell was listed as valid shell in `/etc/shells`.

PAM_USER_UNKNOWN

  The user does not exist or the user's login shell could not be determined.

PAM_SERVICE_ERR

  The module was not able to get the name of the user.

### 6.33.5. EXAMPLES

    auth  required  pam_shells.so

### 6.33.6. AUTHOR

pam_shells was written by Erik Troan <ewt@redhat.com>.

Prev | Up | Next
6.32. pam_setquota - set or modify disk quotas on session start | Home | 6.34. pam_succeed_if - test account characteristics