chillispot+freeradius产生永久锁死帐号的分析和解决办法

作者: Crew586 2008-10-02 00:09:41
经过反复的测试,终于发现问题所在。

其实并非在fedora意外关机或断电后,会让已登陆的帐号永久锁死无法再次登陆(前提Simultaneous-Use=1),而是因为意外的关机会让chilli 和radiusd 同时被Kill,其实只要chilli先于radiusd终止,radius就会记录terminate cause=NAS reboot,而正常断开所有已联接帐户。反之,则radius无法收到chillispot被终止的请求。一切的根源都在于radius会记录已登陆的帐号信息到/var/log/radius/radutmp中,这正是radius判断用户是否登陆的依据,可想而知,radiusd的提前退出,会造成radutmp中一直留有在线信息,当然无法登陆了。

所以,一切都是如此简单。

rc.local中写入 radzap -N 0 localhost testing123

便在系统启动时删除了radutmp中所有从IP=0 的NAS登陆的帐号。OK!

残留一个问题,锁死帐号在这样解锁后,AcctStopTime便是Fedora再次开机的时间了,而不是上次关机的时间,试想,关机若长达3天,那么这个用户就会在线3天,计费3天,天哪,这个问题以后再说。

相关资讯