FreeRadius filter_username - PullRequest
       9

FreeRadius filter_username

0 голосов
/ 28 ноября 2018

Мне нужно настроить фильтр на радиус, чтобы разрешить соединение только с именем пользователя, содержащим слово «test».

Настройка блока:

filter_private  {
            if (User-Name =~ /^(?!test).*$/) {
                    update reply {
                            Reply-Message += "Rejected: Username rejected, because not test"
                    }
                    reject
            }
    }

Но это позволяет абсолютно любое имя пользователя.

1 Ответ

0 голосов
/ 28 ноября 2018

Основываясь на документации , я думаю, что вам нужно отрицать логику:

if (User-Name !~ /^(?!test).*$/) {
    # etc.
}

Кроме того, приведенное выше регулярное выражение, вероятно (в зависимости от вашего локального механизма регулярных выражений), допускает имена пользователей начало с test (из-за ^) без имени пользователя , содержащее test.Для последнего вам нужно изменить логику так:

if (User-Name !~ /.*test.*/) {
    # etc.
}
...