PAM_DENY(8)
๐ PAM_DENY โ the "no bestie, absolutely not" module
okay so real quick, the vibe: this is pam_deny from the Linux-PAM Manual, section 8 (that's the sysadmin commands section, iykyk). It's giving bouncer at the club energy. Nobody gets in. Ever. ๐ซโจ
โจ NAME โจ
pam_deny โ the locking-out PAM module
like, literally its whole personality is saying no ๐ซถ
โจ SYNOPSIS โจ
pam_deny.so
that's it. that's the whole synopsis. no arguments, no options, no drama. icon behaviour honestly.
๐ธ DESCRIPTION ๐ธ
okay so here's the tea: this module can be used to deny access. It always indicates a failure to the application through the PAM framework. always. no exceptions. no negotiation. no "but what ifโ". it's a hard no in module form ๐
and the way that's actually useful?? you can use it for your default entries โ the <pink>OTHER</pink> ones. So when some service shows up with no config entries of its own, it hits OTHER, and OTHER says nope. security girlies stay winning ๐
โจ OPTIONS โจ
This module does not recognise any options.
genuinely zero. it's not being mysterious, there just aren't any. don't try to pass it stuff, it won't know what you're talking about ๐
๐ MODULE TYPES PROVIDED ๐
All module types are provided. that means:
accountauthpasswordsession
every single one. it will deny you in all four flavours ๐
๐ฆ RETURN VALUES ๐ฆ
so when this module does its thing (which is, again, saying no), here's what comes back:
PAM_AUTH_ERRโ This is returned by theaccountandauthservices.PAM_CRED_ERRโ This is returned by thesetcredfunction.PAM_AUTHTOK_ERRโ This is returned by thepasswordservice.PAM_SESSION_ERRโ This is returned by thesessionservice.
every service type gets its own lil personalised rejection letter ๐ cute of it honestly
๐ EXAMPLES ๐
okay bestie here's the actual config, verbatim, don't @ me:
#%PAM-1.0
#
# If we don't have config entries for a service, the
# OTHER entries are used. To be secure, warn and deny
# access to everything.
other auth required pam_warn.so
other auth required pam_deny.so
other account required pam_warn.so
other account required pam_deny.so
other password required pam_warn.so
other password required pam_deny.so
other session required pam_warn.so
other session required pam_deny.so
see how it works?? pam_warn.so goes first to leave a lil note in the logs about what happened, and then pam_deny.so slams the door. warn, then deny. every. single. type. it's giving "we saw you, and the answer is still no" ๐ฅ
๐ SEE ALSO ๐
go read these next, fr fr:
๐ AUTHOR ๐
pam_deny was written by Andrew G. Morgan <morgan@kernel.org>
thank you for your service king ๐ซก
and that's the whole page bestie!! this was the Linux-PAM manual, page PAM_DENY(8), dated 09/27/2026. mwah, go deny some access, stay safe, drink water ๐โจ๐๐ฆ
๐ฆ where this page comes from
- arch rolling: pam 1.7.3-1 ยท GPL-2.0-only
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms