/
Using the FreeRADIUS Users File

Using the FreeRADIUS Users File

FreeRADIUS by default supports a flat file format as a local identity store. This flat file is stored as /etc/raddb/users (or /etc/freeradius/users).

The file consists of a series of configuration directives used by the files module to authorise and authenticate users. 

The basic user entry looks like this:

username<tab>[Authorisation item], [Authorisation item], ...
<tab><tab>[Reply item], [Reply item], ...

The formatting of the stanza above is very important. There should be a <tab> in between the username and any authorisation items, and a line break followed by a <tab> before any reply items.

The minimum authorisation item next to the username would be a corresponding password entry. Usually this password is in clear text, indicated by the attribute Cleartext-Password. Reply items on the subsequent line are optional.

A sample user entry

moonshot	Cleartext-Password := "testing1234"
			User-Name = 'moonshot'

For more information about configuration directives, see the FreeRADIUS man page for users(5).

For Moonshot, it is recommended that files lookups and authentications are limited to the /etc/raddb/sites-available/inner-tunnel (or /etc/freeradius/sites-available/inner-tunnel) file, as Moonshot uses EAP-TTLS and the real username is only exposed in the tunnel itself.

1. For initial testing

For the purposes of initial testing, you can use a simple local flat file, creating a user with username "testuser" and password "testing".

  1. Open /etc/raddb/users (or /etc/freeradius/users) for editing and put the following at the top of the file:

    testuser	Cleartext-Password := "testing"
    			Reply-Message = "Hello test user. You have authenticated!"

2. For small-scale deployments

For a small-scale deployment, such as a pilot project or an Authentication Policy Community, follow the above step for each of the users you wish to add, starting each user on a new line.

If you do not wish to use clear-text passwords for your users, you may wish to use attributes such as MD5-Password, SMD5-Password, Crypt-Password, SHA-Password, SSHA-Password or NT-Password (see FreeRADIUS Rlm_ldap for details) instead of Cleartext-Password to obfuscate passwords in the appropriate format. If necessary, use Base64 encoding to make the value storable in the flat file.

Protocol and password format compatibility

Be aware that not all password obfuscation mechanisms are compatible with all RADIUS protocol types. For more information, please see the DeployingRADIUS Protocol and Password Compatibility matrix for more information.

Related content

Using LDAP to Connect to a Directory
Using LDAP to Connect to a Directory
More like this
Configuring FreeRADIUS to Use a Local Identity Store
Configuring FreeRADIUS to Use a Local Identity Store
More like this
Configure an Identity Provider
Configure an Identity Provider
More like this
Issue Pseudonymous Identifiers
Issue Pseudonymous Identifiers
More like this
Configure the Moonshot RP Proxy to Talk to Applications/Services
Configure the Moonshot RP Proxy to Talk to Applications/Services
More like this
Install an IdP on Debian/Ubuntu/Raspbian
Install an IdP on Debian/Ubuntu/Raspbian
More like this