---
name: "pam_motd"
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_motd"
---

# pam\_motd(8)

Display the motd file

## NAME

pam\_motd - Display the motd file

## SYNOPSIS

**pam\_motd.so** \[motd=*/path/filename*\] \[motd\_dir=*/path/dirname.d*\]

## DESCRIPTION

pam\_motd is a PAM module that can be used to display arbitrary motd (message of the day) files after a successful login. By default, pam\_motd shows files in the following locations:

/etc/motd

/run/motd

/usr/lib/motd

/etc/motd.d/

/run/motd.d/

/usr/lib/motd.d/

Each message size is limited to 64KB.

If /etc/motd does not exist, then /run/motd is shown. If /run/motd does not exist, then /usr/lib/motd is shown.

Similar overriding behavior applies to the directories. Files in /etc/motd.d/ override files with the same name in /run/motd.d/ and /usr/lib/motd.d/. Files in /run/motd.d/ override files with the same name in /usr/lib/motd.d/.

Files in the directories listed above are displayed in lexicographic order by name. Moreover, the files are filtered by reading them with the credentials of the target user authenticating on the system.

To silence a message, a symbolic link with target /dev/null may be placed in /etc/motd.d with the same filename as the message to be silenced. Example: Creating a symbolic link as follows silences /usr/lib/motd.d/my\_motd.

**ln -s /dev/null /etc/motd.d/my\_motd**

The **MOTD\_SHOWN=pam** environment variable is set after showing the motd files, even when all of them were silenced using symbolic links.

## OPTIONS

motd=/path/filename

The /path/filename file is displayed as message of the day. Multiple paths to try can be specified as a colon-separated list. By default this option is set to /etc/motd:/run/motd:/usr/lib/motd.

motd\_dir=/path/dirname.d

The /path/dirname.d directory is scanned and each file contained inside of it is displayed. Multiple directories to scan can be specified as a colon-separated list. By default this option is set to /etc/motd.d:/run/motd.d:/usr/lib/motd.d.

When no options are given, the default behavior applies for both options. Specifying either option (or both) will disable the default behavior for both options.

## MODULE TYPES PROVIDED

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

## RETURN VALUES

PAM\_ABORT

Not all relevant data or options could be obtained.

PAM\_BUF\_ERR

Memory buffer error.

PAM\_IGNORE

This is the default return value of this module.

## EXAMPLES

The suggested usage for /etc/pam.d/login is:

```
session  optional  pam_motd.so
```

To use a motd file from a different location:

```
session  optional  pam_motd.so motd=/elsewhere/motd
```

To use a motd file from elsewhere, along with a corresponding .d directory:

```
session  optional  pam_motd.so motd=/elsewhere/motd motd_dir=/elsewhere/motd.d
```

## SEE ALSO

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

## AUTHOR

pam\_motd was written by Ben Collins \<bcollins@debian.org\>.

The **motd\_dir=** option was added by Allison Karlitskaya \<allison.karlitskaya@redhat.com\>.
