Я знаю, что может оказаться перед невозможной миссией. Я хочу, чтобы radiusd записывал каждый Mac, полученный в Acces-Request, для дальнейшего отказа в доступе к этим MAC-адресам.Unlang пишите в файл FreeRADIUS
Я знаю, что файл политики написано в unlang, плохие новости в том, что radiusd не имеет права на запись на любом из конф файлов ...
Во всяком случае, был кто способен Writting в файл в ПОЛИТИКА ОБРАБОТКИ FreeRADIUS?
То, что я хочу, чтобы достичь было бы что-то вроде этого:
raddb/сайты-доступные/по умолчанию
authorize {
rewrite_calling_station_id
unauthorized_macs
if(ok) {
reject
}
else {
update control {
Auth-Type := Accept
}
GET MAC FROM CALLIN_STATION_ID ATTRIBUTE
WRITE THIS F***ING MAC TO unauthorized_macs FILE
}
}
Благодаря Арран, я мог бы решить эту проблему следующим путь:
authorize {
rewrite_calling_station_id
authMac
if(ok) {
reject
}
else {
linelog
update control {
Auth-Type := Accept
}
}
}
Где linelog настраивается следующим образом: raddb/модов с поддержкой/linelog
linelog {
filename = /path/to/hell/authMac
format = "%{Calling-Station-ID}"
}
, и вам может потребоваться обернуть команду в bash -c, не помню специфику использования команд оболочки с помощью exec. –