rlm_pap(5)
π NAME π
rlm_pap β FreeRADIUS Module β¨ yes bestie, this is the rlm_pap(5) page, and it's giving auth-module realness.
β¨ DESCRIPTION β¨
okay so the rlm_pap module authenticates RADIUS Access-Request packets that contain a User-Password attribute. The module should also be listed last in the authorize section, so that it can set the Auth-Type attribute as appropriate. main character placement, no cap.
When a RADIUS packet contains a clear-text password in the form of a User-Password attribute, the rlm_pap module may be used for authentication. The module requires a "known good" password, which it uses to validate the password given in the RADIUS packet. That "known good" password must be supplied by another module (e.g. rlm_files, rlm_ldap, etc.), and is usually taken from a database.
π CONFIGURATION π
The only configuration item is:
normaliseβ the default is"yes". This means that the module will try to automatically detect passwords that are hex- or base64-encoded and decode them back to their binary representation. However, some clear text passwords may be erroneously converted. Setting this to"no"prevents that conversion. π
πΈ USAGE πΈ
The module looks for the Password-With-Header control attribute to find the "known good" password. The attribute value comprises the header followed immediately by the password data. The header is given by this matching list β original columns are Header, Attribute, and Description, and every row is here:
{clear}βCleartext-Passwordβ Clear-text passwords{cleartext}βCleartext-Passwordβ Clear-text passwords{crypt}βCrypt-Passwordβ Unix-style "crypt"ed passwords{md5}βMD5-Passwordβ MD5 hashed passwords{base64_md5}βMD5-Passwordβ MD5 hashed passwords{smd5}βSMD5-Passwordβ MD5 hashed passwords, with a salt{sha}βSHA-Passwordβ SHA1 hashed passwords- (blank Header cell in the original table) β
SHA1-Passwordβ SHA1 hashed passwords {ssha}βSSHA-Passwordβ SHA1 hashed passwords, with a salt{sha2}βSHA2-Passwordβ SHA2 hashed passwords{sha224}βSHA2-Passwordβ SHA2 hashed passwords{sha256}βSHA2-Passwordβ SHA2 hashed passwords{sha384}βSHA2-Passwordβ SHA2 hashed passwords{sha512}βSHA2-Passwordβ SHA2 hashed passwords{ssha224}βSSHA2-224-Passwordβ SHA2 hashed passwords, with a salt{ssha256}βSSHA2-256-Passwordβ SHA2 hashed passwords, with a salt{ssha384}βSSHA2-384-Passwordβ SHA2 hashed passwords, with a salt{ssha512}βSSHA2-512-Passwordβ SHA2 hashed passwords, with a salt{nt}βNT-Passwordβ Windows NT hashed passwords{nthash}βNT-Passwordβ Windows NT hashed passwords{md4}βNT-Passwordβ Windows NT hashed passwords{x-nthash}βNT-Passwordβ Windows NT hashed passwords{ns-mta-md5}βNS-MTA-MD5-Passwordβ Netscape MTA MD5 hashed passwords{x- orcllmv}βLM-Passwordβ Windows LANMAN hashed passwords{X- orclntv}βNT-Passwordβ Windows NT hashed passwords
The module tries to be flexible when handling the various password formats. It will automatically handle Base-64 encoded data, hex strings, and binary data, and convert them to a format that the server can use.
If there is no Password-With-Header attribute, the module looks for one of the Cleartext-Password, NT-Password, Crypt-Password, etc. attributes as listed in the above table. These attributes should contain the relevant format password directly, without the header prefix.
β οΈ Only one control attribute should be set, otherwise behaviour is undefined as to which one is used for authentication. like, don't do that, bestie.
π¦ NOTES π¦
It is important to understand the difference between the User-Password and Cleartext-Password attributes. The Cleartext-Password attribute is the "known good" password for the user. Simply supplying the Cleartext-Password to the server will result in most authentication methods working. The User-Password attribute is the password as typed in by the user on their private machine. The two are not the same, and should be treated very differently. That is, you should generally not use the User-Password attribute anywhere in the RADIUS configuration.
π¨ fr fr, this is the classic mix-up:Cleartext-Passwordis the "known good" password, andUser-Passwordis what the user literally typed on their own machine. Not the same vibe, not the same handling. periodt.
π SECTIONS π
authorize authenticate
π FILES π
/etc/raddb/mods-available/pap
π SEE ALSO π
π AUTHOR π
- Alan DeKok
<aland@freeradius.org>π
okay that's the whole rlm_pap(5) moment β source/version: FreeRADIUS Module, dated 10 January 2015. go be iconic with your auth config πβ¨
π¦ where this page comes from
- alpine 3.22: freeradius-doc 3.0.27-r1 Β· GPL-2.0-or-later
- alpine 3.23: freeradius-doc 3.0.27-r2 Β· GPL-2.0-or-later
- alpine 3.24: freeradius-doc 3.0.27-r3 Β· GPL-2.0-or-later
- arch rolling: freeradius 3.2.10-4 Β· GPL-2.0-or-later
- centos-stream 10: freeradius 3.2.8-2.el10 Β· GPL-2.0-or-later AND LGPL-2.0-or-later
- centos-stream 9: freeradius 3.0.27-4.el9 Β· GPLv2+ and LGPLv2+
- fedora 43: freeradius 3.2.7-6.fc43 Β· GPL-2.0-or-later AND LGPL-2.0-or-later
- fedora 43: freeradius 3.2.7-6.fc43 Β· GPL-2.0-or-later AND LGPL-2.0-or-later
- fedora 43: freeradius 3.2.8-2.fc43 Β· GPL-2.0-or-later AND LGPL-2.0-or-later
- fedora 43: freeradius 3.2.8-2.fc43 Β· GPL-2.0-or-later AND LGPL-2.0-or-later
- fedora 44: freeradius 3.2.8-3.fc44 Β· GPL-2.0-or-later AND LGPL-2.0-or-later
- fedora 44: freeradius 3.2.8-3.fc44 Β· GPL-2.0-or-later AND LGPL-2.0-or-later
- opensuse-leap 16.0: freeradius-server 3.2.5-160000.2.2 Β· GPL-2.0-only AND LGPL-2.1-only
- opensuse-leap 16.0: freeradius-server 3.2.5-160000.2.2 Β· GPL-2.0-only AND LGPL-2.1-only
- opensuse-leap 16.0: freeradius-server 3.2.5-160000.2.2 Β· GPL-2.0-only AND LGPL-2.1-only
- opensuse-leap 16.0: freeradius-server 3.2.5-160000.2.2 Β· GPL-2.0-only AND LGPL-2.1-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms