---
name: "shells"
section: "5"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["linux", "freebsd", "openbsd", "macos"]
url: "https://new.carta.tech/shells"
---

# shells(5)

shell database

## NAME

**shells** – shell database

## DESCRIPTION

The **shells** file contains a list of valid shells available on the system. A shell is a command line interpreter that reads user input and executes commands. For each shell a single line should be present, consisting of the shell's path, relative to root.

A hash mark (‘#’) indicates the beginning of a comment; subsequent characters up to the end of the line are not interpreted by the routines which search the file. Blank lines are also ignored.

The [chpass(1)](/chpass/1.md) program will not let regular users change their default shell to one not listed in the **shells** file. The [ftpd(8)](/ftpd/8.md) daemon denies access to users who are not using one of the listed shells.

## FILES

- */etc/shells*

  ## SEE ALSO

[chpass(1)](/chpass/1.md), [login(1)](/login/1.md), [getusershell(3)](/getusershell/3.md), [nologin(8)](/nologin/8.md)

## HISTORY

The **shells** file format appeared in 4.3BSD-tahoe.
