我有一个用于WPAauthentication的FreeRADIUS(3.0.15)服务器(PEAP + MSCHAPv2),即使感觉在一个封闭的修道院里需要花费一生的时间才能掌握每一个configuration,所有的工作都是开箱即用的。
我有我的用户在users文件,我想保持这种方式(与sql或ldap),因为我喜欢用简单的文本编辑器编辑用户的便利。
我正在努力实现的是:
我有两个SSID( staff和guests ),我想分开我的用户在两个组,如果一个访客用户被拒绝,如果他们尝试在staff身份validationSSID。
我到目前为止:
在我的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
我的希望是,parsing文件后, reply:MyGroup属性有staff或guest取决于用户匹配的请求。
我的dictionary文件有这样的:
ATTRIBUTE MyGroup 3000 string
而我的default网站在authorize组中,在files模块之后。 rewrite_called_station_id创build一个新的属性Called-Station-SSID ,我沿着由files创build的MyGroup attr使用mod来尝试和过滤用户:
# 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')) {