rlm_files(5)
π rlm_files β the FreeRADIUS Module (yes bestie, the files one)
okay so real talk: this is rlm_files(5), a FreeRADIUS Module manpage, and it's genuinely one of the most useful little gremlins in the whole config dir. let's get into it β¨
π NAME π
rlm_files β the FreeRADIUS Module. that's it. that's the name. iconic of it honestly π
πΈ DESCRIPTION πΈ
so the rlm_files module is the one that goes and reads the users file to grab authorization info for users. that's its whole main character job π«Ά
but wait β it also lets you apply that same users file syntax to the accounting and pre-proxy sections too. versatile queen π
here are the main config items you actually need to know about:
usersfileβ the filename of theusersfile, which gets parsed during the authorization stage of this module.acctusersfileβ the filename of theusersfile, which gets parsed during the accounting stage of this module.preproxy_usersfileβ the filename of theusersfile, which gets parsed during the pre_proxy stage of this module.compatβ this option lets FreeRADIUS parse an old style Cistron syntax. the default isno. if you need to parse an old style Cistron file, set this option tocistron.keyβ this option lets you set the attribute to use as a key to find entries. the default is"%{%{Stripped-User-Name}:-%{User-Name}}". and ngl this next bit is important: the key MUST supply real data, no cap π. dynamic attributes like"Group"will not work, because the"Group"attribute can only be used as a comparison β like, to check whether a user is in a Unix group. it will not return the name of the Unix group that a user is in. it's giving "comparison only, no receipts" π
if you want to use groups as a key, go look at rlm_passwd, which will create a real attribute that contains the group name. that's the move π§
okay and why do you care about this config entry? because it enables you to have configurations that do per-group checks, and return per-group attributes, where the group membership is dynamically defined by a previous module. chef's kiss π€
it also lets you do things like key off of attributes in the reply, and express policies like "when I send replies containing attribute FOO with value BAR, do more checks, and maybe send additional attributes". that's so main character honestly π
β¨ CONFIGURATION β¨
here's the shape of it, verbatim, don't @ me:
modules {
... stuff here ...
files {
usersfile = %{confdir}/users
acctusersfile = %{confdir}/acct_users
preproxy_usersfile = %{confdir}/preproxy_users
compat = no
key = %{%{Stripped-User-Name}:-%{User-Name}}
}
... stuff here ...
}
(yes the ... stuff here ... is literally in there, it's a vibe π¦)
π SECTIONS π
authorization, accounting, pre_proxy
those three. that's the list. periodt π
π FILES π
/etc/raddb/radiusd.conf/etc/raddb/users/etc/raddb/acct_users/etc/raddb/preproxy_users
π₯ SEE ALSO π₯
radiusd(8), radiusd.conf(5), users(5)
go read them, iykyk π
π AUTHORS π
Chris Parker, cparker@segv.org β shoutout to Chris, absolute legend π«Ά
ngl that's the whole page bestie. short, sweet, and every single flag accounted for π
β k bye, this was rlm_files(5) from FreeRADIUS Module, dated 5 February 2004, and yes we're still out here reading manpages in 2024+ like the scholars we are πβ¨π
π¦ 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