User name case insensitivity - revisited

Matthew Newton mcn at freeradius.org
Sat Jun 11 22:19:22 UTC 2022


On 11/06/2022 19:21, Luveh Keraph wrote:
> I thought I had grasped what is involved in making FreeRADIUS 3.0.* to
> process user names in a case-insensitive way, but I am not so sure now.
> Here is what I have done:
> 
> First, I added the following line in my /etc/raddb/mods-enabled/files:
> 
>      key = "%{%{Stripped-User-Name}:-%{tolower:%{User-Name}}}"

i.e. "look up Stripped-User-Name in whatever case it is in, but if that 
doesn't exist convert the full User-Name to lowercase and look that up 
instead.

I doubt that's what you want - probably tolower both of them.

> I have the following entry in my /etc/raddb/users file:
> 
> ijk_user1 User-Password != "IJKpassword1"
> ijk_user1 Cleartext-Password := "IJKpassword1"

Why the first line? That doesn't make any sense. Just the second line.


> With this, when I try to ssh as IJK_User1 (notice the mixed case) into a
> system that turns over authentication to my FreeRADIUS server, I get the
> following debugging information at this server:

Don't use any more than just -X. The extra -x's just make everything 
hard to read, for no benefit.

> Which is fine: the user name gets converted from IJK_User1 to ijk_user1 and
> the authentication with password IJKpassword1 succeeds, as expected.

OK...


> I then changed  the relevant entry in my /etc/raddb/users file as follows:
> 
> IJK_User1 User-Password != "IJKpassword1"
> IJK_User1 Cleartext-Password := "IJKpassword1"

So you're looking up a lowercase username, compared against a username 
with uppercase characters in it. Doubt that will go well.


> Sat Jun 11 11:48:54 2022 : WARNING: (0) pap: No "known good" password found > for the user.  Not setting Auth-Type

Hmm, nope. It didn't.

> If I understand things correctly, the key = ... line that I added to the
> files file does indeed recast the incoming user name to lowercase. However,
> the FreeRADIUS server still compares incoming user names against those in
> the users file in a case sensitive way.  This is fine, but not quite what I
> was looking for.
> 
> Is it possible to get FreeRADIUS to compare user names (and user
> names alone - not passwords)  in a real case-insensitive way against those
> in the /etc/raddb/users file?

You control the users file. Write the entries there in lower case, then 
the lowercase username will match.

-- 
Matthew


More information about the Freeradius-Users mailing list