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

# pam\_securetty(8)

Limit root login to special devices

## NAME

pam\_securetty - Limit root login to special devices

## SYNOPSIS

**pam\_securetty.so** \[debug\]

## DESCRIPTION

pam\_securetty is a PAM module that allows root logins only if the user is logging in on a "secure" tty, as defined by the listing in the securetty file. pam\_securetty checks at first, if /etc/securetty exists. If not and it was built with vendordir support, it will use /securetty. pam\_securetty also checks that the securetty files are plain files and not world writable. It will also allow root logins on the tty specified with **console=** switch on the kernel command line and on ttys from the /sys/class/tty/console/active.

This module has no effect on non-root users and requires that the application fills in the **PAM\_TTY** item correctly.

For canonical usage, should be listed as a **required** authentication method before any **sufficient** authentication methods.

## OPTIONS

debug

Print debug information.

noconsole

Do not automatically allow root logins on the kernel console device, as specified on the kernel command line or by the sys file, if it is not also specified in the securetty file.

## MODULE TYPES PROVIDED

Only the **auth** module type is provided.

## RETURN VALUES

PAM\_SUCCESS

The user is allowed to continue authentication. Either the user is not root, or the root user is trying to log in on an acceptable device.

PAM\_AUTH\_ERR

Authentication is rejected. Either root is attempting to log in via an unacceptable device, or the securetty file is world writable or not a normal file.

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\_SERVICE\_ERR

An error occurred while the module was determining the user's name or tty, or the module could not open the securetty file.

PAM\_USER\_UNKNOWN

The module could not find the user name in the /etc/passwd file to verify whether the user had a UID of 0. Therefore, the results of running this module are ignored.

## EXAMPLES

```
auth  required  pam_securetty.so
auth  required  pam_unix.so
```

## SEE ALSO

[**securetty**(5)](/securetty/5.md), [**pam.conf**(5)](/pam.conf/5.md), [**pam.d**(5)](/pam.d/5.md), [**pam**(8)](/pam/8.md)

## AUTHOR

pam\_securetty was written by Elliot Lee \<sopwith@cuc.edu\>.
