Groups
在 FreeRADIUS 3 中將使用者分成兩組(員工和客人)
我有一個用於 WPA 身份驗證(PEAP + MSCHAPv2)的 FreeRADIUS (3.0.15) 伺服器,一切都是開箱即用的,儘管感覺就像在封閉的修道院中學習一輩子才能掌握配置的每一點。
我在文件中有我的使用者,
users
我想保持這種方式(相對於 sql 或 ldap),因為我喜歡使用簡單的文本編輯器編輯使用者的便利。我要完成的工作:
我有兩個 SSID (
staff
和guests
),我想將我的使用者分成兩組,這樣如果來賓使用者嘗試在staff
SSID 上進行身份驗證,就會被拒絕。到目前為止我所擁有的:
在我的
users
文件中:DEFAULT MyGroup := 'guests', Fall-Through := Yes # Guest users guest1 Cleartext-Password := 'password1' # End of guest users DEFAULT MyGroup := 'staff', Fall-Through := Yes # Staff users staff1 Cleartext-Password := 'kdjsfhksf' # End of staff users
我的希望是,在解析文件之後,該
reply:MyGroup
屬性具有staff
或guest
取決於與請求匹配的使用者。我的
dictionary
文件有這個:ATTRIBUTE MyGroup 3000 string
我的
default
網站在authorize
組中就有這個,就在files
模組之後。rewrite_called_station_id
創建了一個新屬性Called-Station-SSID
,我使用它沿著 mod 創建的attrMyGroup
來files
嘗試過濾使用者:# get SSID from Called-Station-Id rewrite_called_station_id # check guest connecting to staff SSID and reject if so if (&MyGroup == 'guests' && &Called-Station-SSID == 'STAFF') { reject }
我也試過這個:
if (&reply:MyGroup == 'guests' && &Called-Station-SSID == 'STAFF') {
但無論如何我都會收到以下錯誤:
if (&reply:MyGroup == 'guests' && &Called-Station-SSID == 'STAFF') { ERROR: Failed retrieving values required to evaluate condition
在這一點上,我不知道發生了什麼以及如何解決它。
如果您想將組分配給使用者,請檢查將項目插入
&control
列表的項目,即guest1 Mygroup := 'guests', Cleartext-Password := 'password1' staff1 Mygroup := 'staff', Cleartext-Password := 'kdjsfhksf'
進而
if ((&control:MyGroup == 'guests') && (&Called-Station-SSID == 'STAFF')) {