发现一个不错的开源堡垒机 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的更多相关文章

  1. django开发框架-view & template

    django框架的主要模型是MVT,Model模型,View视图,Template模板,基于基本的HttpRequest方式. django支持的数据库有四种:PostgreSQL,MySQL, Or ...

  2. Django开发框架知识点

    一.什么是web服务器(了解) 当我们在浏览器输入URL后,浏览器会先请求DNS服务器,获得请求站点的 IP 地址.然后发送一个HTTP Request(请求)给拥有该 IP 的主机,接着就会接收到服 ...

  3. 【二次开发jumpserver】——整合jumpserver与zabbix推送主机功能

    jasset/forms.py "ip", "other_ip", "hostname", "port", " ...

  4. 1.1 Django起步

    1.1 Django起步   1.1.1. Django简介   Django开发框架(简称Django)诞生的时间是2003年的金秋时节,美国有两位程序员Adrian  Holovaty和Simon ...

  5. Centos7.4下安装Jumpserver 1.0.0(支持windows组件)

    0)系统环境CentOS 7.4 IP: 192.168.100.10 [root@jumpserver-server ~]# cat /etc/redhat-release CentOS Linux ...

  6. Centos7.3下安装Jumpserver 1.0.0(支持windows组件)

    Jumpserver最新版本支持windows组件,废话不多介绍了,下面直接介绍下部署过程: 0)系统环境 CentOS 7.3 IP: 192.168.10.210 [root@jumpserver ...

  7. Pyhton开源框架(加强版)

    info:Djangourl:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC)风格的 ...

  8. Python开源框架

    info:更多Django信息url:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC) ...

  9. python环境

    官网:https://www.python.org windows环境:http://www.cnblogs.com/windinsky/archive/2012/09/20/2695520.html ...

随机推荐

  1. 【POJ 2152】 Fire (树形DP)

    Fire   Description Country Z has N cities, which are numbered from 1 to N. Cities are connected by h ...

  2. EMMC 简要介绍

    一直想写一篇关于EMMC的文章,但是因为之前弄了很多PPT,所以一直提不起兴趣,索性直接把之前的一个介绍EMMC的PPT贴出来给大家看看,有什么问题可以直接跟帖,我会第一时间进行解答,谢谢

  3. eval

    字符串形式:表达式计算 Vsftp:/root/perl/14# cat aa 9 5 1 2 Vsftp:/root/perl/14# cat a1.pl open (A,aa); while ($ ...

  4. B*tree dump

    Oracle的索引是以平衡树的方式组织存储的:保存的是索引列的值,以及该行的rowid的一部分(文件号,块号,行号) 下面我们通过例子来了解一下: 1,create table test(id int ...

  5. BZOJ_1015_星球大战_[JSOI2008]_(并查集)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1015 n 个点,被 m 条边相连.进行k次删点操作,问第一次操作前和每次操作后的集合数(直接或 ...

  6. axis2 调用.net基于https的WebService接口

    一.创建证书 1,在IE中访问WSDL的URL,弹出“安全警报”窗口,查看证书->详细信息标签页->复制到文件->下一步->下一步->指定文件名,将证书下载保存为.cer ...

  7. sql getdate() 时间格式设置

      Sql Server 中一个非常强大的日期格式化函数常用: Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16 Select CONVE ...

  8. objective-c中点语法的使用

    点语法的作用:提供一种访问属性的setter和getter的机制. 用法举例: 1.创建一个Person类,并声明属性.在person.h中. 2.实现一个init方法,并使用点语法等.在pers.m ...

  9. HW4.19

    public class Solution { public static void main(String[] args) { for(int i = 1; i <= 8; i++) { fo ...

  10. linux IPC总结——管道

    管道 管道是unix ipc的最古老形式,是一种在内存中的特殊文件,只能在具有公共祖先的进程之间使用(即父子进程,兄弟进程). 管道由pipe函数创建 #include <unistd.h> ...