视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
python-堡垒机制作
2020-11-27 14:13:49 责编:小采
文档


堡垒机
windows ,linux 都通过测试
初始化说明:
 #进入根目录
 1、初始化表结构 #python3 bin/start.py syncdb
 2、创建堡垒机用户 #python3 bin/start.py create_users -f share/examples/new_user.yml
 3、创建分组 #python3 bin/start.py create_groups -f share/examples/new_groups.yml
 4、创建远程主机 #python3 bin/start.py create_hosts -f share/examples/new_hosts.yml
 5、创建远程主机用户(绑定堡垒机用户与分组)#python3 bin/start.py create_remoteusers -f share/examples/new_remoteusers.yml
 6、绑定远程主机与远程主机用户【远程绑定组合】(关联远程绑定组合与堡垒机用户、关联远程绑定组合与分组)
 #python3 bin/start.py create_bindhosts -f share/examples/new_bindhosts.yml
 7、登陆堡垒机 #python3 bin/start.py start_session (示例用户: uge3 密码:uge3)
 8、查看用户日志 #python3 bin/start.py audit -n uge3


plj/#程序目录
|- - -__init__.py
|- - -bin/#启动目录
| |- - -__init__.py
| |- - -start.py#启动
|
|- - -conf/#配置目录
| |- - -__init__.py
| |- - -action_registers.py#开始参数配置文件
| |- - -settings.py#配置文件
|
|- - -modules/#主逻辑目录
| |- - -__init__.py
| |- - -actions.py#开始函数 帮助信息
| |- - -db_conn.py#数据库连接配置
| |- - -interactive.py#ssh命令重写
| |- - -models.py#表结构 类
| |- - -ssh_login.py#登陆远程主机调用
| |- - -utils.py#工具函数
| |- - -views.py#主要逻辑函数
|
|- - -REDMAE
|
|- - -share/#添加堡垒机用户远程主机\分组远程主机用户 目录
| |- - -examples/#文件目录
| |- - -new_bindhosts.yml/#远程主机用户与远程主机 组合表(组合表与 分组)(堡垒机用户与组合表) 创建 示例
| |- - -new_groups.yml/#分组创建 示例( 堡垒机用户与 分组)
| |- - -new_hosts.yml/#远程主机创建 示例
| |- - -new_remoteusers.yml/#远程主机用户创建 示例
| |- - -new_user.yml/#堡垒机用户机创建 示例
plj/#程序目录
|- - -__init__.py
|- - -bin/#启动目录
| |- - -__init__.py
| |- - -start.py#启动
 1 #!/usr/bin/env python 2 #_*_coding:utf-8_*_ 3 #Python 4 #17-7-14 下午6:22 5 #__author__='Administrator' 6 7 import os,sys 8 9 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))10 11 #print(BASE_DIR)12 sys.path.append(BASE_DIR)#加入环境变量13 14 if __name__ == '__main__':15 from modules.actions import excute_from_command_line16 excute_from_command_line(sys.argv)
View Code
|- - -conf/#配置目录
| |- - -__init__.py
| |- - -action_registers.py#开始参数配置文件
 1 #_*_coding:utf-8_*_ 2 import os,sys 3 4 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 5 6 sys.path.append(BASE_DIR)#加入环境变量 7 8 from modules import views 9 10 '''11 actions = {12 'start_session': views.start_session,#开始程序13 'stop': views.stop_server,#停止14 'syncdb': views.syncdb,#创建表结构15 'create_users': views.create_users,16 'create_groups': views.create_groups,17 'create_hosts': views.create_hosts,18 'create_bindhosts': views.create_bindhosts,19 'create_remoteusers': views.create_remoteusers,20 }21 '''22 actions = {23 'audit':views.audit,#查看日志24 'start_session': views.start_session,#开始程序25 'stop': views.stop_server,#停止26 'syncdb': views.syncdb,#创建表结构27 'create_users': views.create_users,#创建堡垒机用户28 'create_groups': views.create_groups,#创建分组29 'create_hosts': views.create_hosts,#创建远程主机30 'create_remoteusers': views.create_remoteusers,# #创建远程主机用户31 'create_bindhosts': views.create_bindhosts,# 远程主机与远程主机用户 绑定 关联堡垒机用户与32 #'ass_bind_group': views.ass_bindhost_group,#远程主机与远程主机用户组合 与 分组33 34 35 }36 37 actionses = {38 'audit [查看日志]':views.audit,#查看日志39 'start_session [开始程序]': views.start_session,#开始程序40 'stop [停止]': views.stop_server,#停止41 'syncdb [创建表结构]': views.syncdb,#创建表结构42 'create_users [创建堡垒机用户]': views.create_users,#创建堡垒机用户43 'create_groups [创建分组]': views.create_groups,#创建分组44 'create_hosts [创建远程主机]': views.create_hosts,#创建远程主机45 'create_remoteusers [创建远程主机用户]': views.create_remoteusers,# #创建远程主机用户46 'create_bindhosts [绑定堡垒机用户与远程主机用户]': views.create_bindhosts,#绑定堡垒机用户与远程主机用户47 #'ass_bind_group [绑定远程主机+远程主机用户组合与分组]': views.ass_bindhost_group,#远程主机与远程主机用户组合 与 分组48 49 50 }
View Code
| |- - -settings.py#配置文件
 1 import os,sys 2 3 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 4 5 USER='root'#用户名 6 PASSWORD='root'#密码 7 HOST_IP='127.0.0.1'#数据库地址 8 PORT="3306"#数据库端口 9 DB='little_finger'#库名10 DB_CONN ="mysql+pymysql://"+USER+":"+PASSWORD+"@"+HOST_IP+":"+PORT+"/"+DB+"?charset=utf8"#连接参数11 #DB_CONN ="mysql+pymysql://root:root@localhost:3306/"+DB+"?charset=utf8"#连接参数
View Code
|- - -modules/#主逻辑目录
| |- - -__init__.py
| |- - -actions.py#开始函数 帮助信息
 1 #!/usr/bin/env python 2 #_*_coding:utf-8_*_ 3 #Python 4 #17-7-14 下午6:25 5 #__author__='Administrator' 6 import os,sys 7 8 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 9 10 sys.path.append(BASE_DIR)#加入环境变量11 12 from conf import settings13 from conf import action_registers14 from modules import utils15 16 17 def help_msg():#帮助信息18 '''19 print help msgs20 :return:21 '''22 print("