之前记录了VPN服务器端怎样查看登陆用户、登陆时间、登陆IP、在线时间、流量统计等信息,保存下来后在/var/log里边一个文本里,查看的时候需要SSH连接到服务器通过cat,tail等文本文件查看器查看,不够方便。我的这个服务器同时跑着我的博客,LAMP方案,一直在思考如果能网页端查看就太棒了。

之前的方案在这里:https://shuspieler.com/blog/756/

就在刚才想到了一个迂回解决方案,显示效果稍微有点low,但是能看到哪个用户在线,能查看历史连接,以及标题中所有的那些信息,凑合着已经解决了我的需求。具体解决办法如下:

(默认我认为读者也配置好了http服务器,不一定是apache和PHP,其他的理论上也可以)

通过下边命令将log文件软连接到网页文件夹:

之后,通过浏览器尝试打开 http://服务器IP/VPN-ppp2.log 提示Forbidden禁止连接。这是预想到的,因为权限问题,运行apache的用户没有权限读取这个log文件。

通过ls -l 查看/var/log/VPN-ppp0.log得知这个文件属于root组的root用户。apache默认用户是www-data,为何使这个用户有读取权限,我的解决办法是将VPN-ppp0.log换成www-data所在的组,也就是同名的www-data组,同时将VPN-ppp0.log权限设置成组成员可读,命令如下:

第一句将VPN-ppp0.log的组换成了www-data,第二个命令赋予了这个文件组成员可读的权限。

之后查看文件权限长这样:

第二个r代表了组成员有读取权限,并且这个文件还属于root,但是组换成了www-data。

之后通过浏览器访问下边的页面即可看VPN用户情况,多个ppp的log是放之多用户冲突:

根据上篇教程贴可知,如果用户在线,日志中之写入了登陆信息,当用户离线,则写入离开时间以及流量用量等信息。

如果打开那个网页在线,说明当前XXX正在线,如果离线,则打开网页显示如下:

这样就都达了查看用户是否在线的功能,以及网页查看VPN使用情况的功能。

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.