module05-3-堡垒机

需求


所有的用户操作日志要保留在数据库中

每个用户登录堡垒机后,只需要选择具体要访问的设置,就连接上了,不需要再输入目标机器的访问密码

允许用户对不同的目标设备有不同的访问权限,例:

10.0.2.34 mysql 用户的权限

192.168.3.22 root用户的权限

172.33.24.55 没任何权限

分组管理,即可以对设置进行分组,允许用户访问某组机器,但对组里的不同机器依然有不同的访问权限
 

目录结构



堡垒机
    ├ bin       # 执行文件目录
    |   └ fortress.py # 执行程序 
    ├ conf      # 配置文件目录
    |   ├ action_registers.py   # 存储动作参数与对应执行函数的映射关系
    |   └ setting.py            # 配置文件,目前主要保存mysql数据库连接参数
    ├ modules   # 程序核心代码位置
    |   ├ actions.py            # 执行程序入口及相关函数
    |   ├ common_filters.py     # 存储一些内部使用的数据库查找类函数
    |   ├ db_conn.py            # 数据库连接引擎
    |   ├ interactive.py        # ssh连接时的交互逻辑        
    |   ├ models.py             # 数据库表结构的orm映射
    |   ├ ssh_login.py          # ssh连接模块
    |   ├ utils.py              # 内部使用的工具函数汇总
    |   └ views.py              # 执行程序时的各动作参数对应的函数
    └ share     # 测试用数据

 代码


fortress.py
action_registers.py
settings.py
actions.py
common_filters.py
db_conn.py
interactive.py
models.py
ssh_login.py
utils.py
views.py

原文地址:https://www.cnblogs.com/jailly/p/7590913.html