freeradius根据AD组确定cisco shell权限

时间:2013-10-17 19:16:45

标签: linux openldap cisco freeradius

我使用Active Directory配置FreeRadius并查找用户组,我需要做的最后一件事情与以下内容类似。

互联网上的所有教程都引用了用户文件(我没有使用),他们会有类似的内容:

 youruser   Cleartext-Password := "somepass"
 Service-Type = NAS-Prompt-User,
 cisco-avpair = "shell:priv-lvl=15"

所以在post-auth部分的我的sites-available / default文件中,我创建了一些if语句,如:

if(LDAP-Group == "CN=groupname, ou=blah, ou=blah"){
   Service-Type = Administrative-User, cisco-avpair = "shell:priv-lvl=15"
}
else {
  reject
}

当我运行它时,它会抱怨if语句中的Service-type ...行

Unknown action 'Administrative-User,'.
Error parsing post-auth section

任何想法如何解决这个问题

3 个答案:

答案 0 :(得分:0)

我用ntlm_auth做了这个,并且--required-membership -of = + somegroup

请注意" +"是分隔符。使用ntlm_auth的限制是,您只能需要一个组,而不像其他选项可能会让您尝试一些组。但是,就我而言," network_admins"小组是唯一将通过的小组。

答案 1 :(得分:0)

“post-auth”部分中的内容

   if (LDAP-Group == "SomeGroup") {
                   update reply {
                    cisco-avpair = "shell:priv-lvl=15",
                   }

    }
    else {
            reject
    }

答案 2 :(得分:0)

像这样;在启用网站/默认的网站中

authenticate {
            Auth-Type ntlm_auth {
                    ntlm_auth
         if (ok) {
            update reply {
            Service-Type = Administrative-User,  
                        }  
                     }