码迷,mamicode.com
首页 > 其他好文 > 详细

django实例之jumpserver

时间:2016-01-05 12:24:33      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:

发现一个不错的开源堡垒机 jumpserver: https://github.com/ibuler/jumpserver

 

最开始看的是jumpserver2.0.0 版本,具体的实现方式是:

    1. django + uwgsi 实现web前端的用户管理界面

    关于django可以参考:http://xianglong.me/article/django-request-work-flow/

 

    django的 MVC, 以jumpserver下为例子:

        - urls.py 文件,控制用户请求由哪个方法处理,其具体内容就是url的正则表达式,并对应views中具体方法名

        - views.py文件,处理用户请求,其具体内容就是urls对应的各个方法。

        - models.py文件,定义数据模型,处理数据库请求, 其具体内容就是对应的数据库表字段名。

     最终,views把处理结果返回给template目录下对应的前端文件, 完成一次完整请求。

 

    通过pip,这是一个python的egg包管理器,我们可以方便安装django包。用django提供的工具,我们可以轻松建立一个django框架下的web工程:

    django-admin startproject mywebproject

 

    2. ldap + paramiko 实现服务器权限管理

    ldap是一个轻量级的目录访问协议,一个比较知名的ldap协议实现是 openldap / openldap-server。

  它是CS架构,包含客户端和服务端两个组件。客户端可以通过ldapsearch / ldapadd / ldapdel等命令去查询修改数据,服务器端其实是以Berkeley database 为数据库进行数据管理,以相同命令进行数据库操作, 它没有sql解析步骤,按照百度说法是介于关系型数据库 比如mysql 跟内存型数据库 比如redis之间的 文件数据库。

 

    下面简单介绍下,在linux中如何开启ldap验证:

    在linux中,我们大部分软件都是通过调用pam组件进行身份认证,

    - 具体验证内容,可以查看/etc/pam.d/system-auth, 这个配置文件可以通过调用命令 authconfig 或是 authconfig-tui 自动生成。

    - 另外,authconfig也会更新配置文件 /etc/sysconfig/authconfig, 在这个文件可以控制具体使用哪种方式验证 (开启ldap认证我们需要,更新到这个文件,设置USELDAPAUTH = yes

    最后我们还需要更新nsswitch.conf,该文件控制验证机制的先后顺序,比如 files, ldap 代表先本地passwd文件验证没有后,再去寻找ldap服务器。

    注: 当决定使用ldap验证,不要忘记安装 nss-pam-ldap组件

    

    3. express + socket.io 实现在线用户监测

    express是js的web开源框架,在这之前需安装 NodeJS 这个js 解析器,NodeJs之于js语言,类似于 php-fpm解析器之于php语言。

    说到php,我们知道fastcgi协议,用于定义php跟其他web服务器的通信接口,而php-fpm是该协议的实现。

    那前面提到的uwgsi协议,也是类似于fastcgi一样的接口,但是它是定义python的跟其他web服务器的通信,而uWGSI 是该协议的实现。

    最后,socket.io也是一个实现,它是websocket这个协议的实现,好多实现。。

 

django实例之jumpserver

标签:

原文地址:http://www.cnblogs.com/p4w9110/p/5101838.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!