主机管理+堡垒机系统开发:表结构设计

一、创建django项目和app web

二、主机表

1、主机表代码:

    """存储所有主机"""
    hostname = models.CharField(max_length=64)
    ip_addr = models.GenericIPAddressField(unique=True)
    port = models.PositiveSmallIntegerField(default=22)
    idc = models.ForeignKey("IDC")

    enabled = models.BooleanField(default=True)
    #是否已启用,代表这台机器是否能登陆
    def __str__(self):
        return self.ip_addr

1、hostname需要唯一的?

它不一定唯一,有可能是重的

2、这台机器的用户名密码要不要在这存?

不用,因为主机和用户名密码是一对多的 关系,一条存的下吗?
是否已启用,代表这台机器是否能登陆

2、IDC表代码

class IDC(models.Model):
    name = models.CharField(max_length=64,unique=True)

    def __str__(self):
        return self.name 

三、主机组表

1、解决了什么问题:

  一个人管理500台机器我给他一个一个添加吗?,我是不是要创建一个主机组

2、主机表代码

class HostGroup(models.Model):
    """主机组"""
    name = models.CharField(max_length=64, unique=True)
    hosts  = models.ManyToManyField("Host")
    def __str__(self):
        return self.name

四、远程用户表

1、解决了什么问题:

有些远程的主机不能密钥,所以必须存密码

2、主机表代码

class RemoteUser(models.Model):
    """存储远程用户名密"""
    username = models.CharField(max_length=64)
    auth_type_choices = ((0,‘ssh/password‘),(1,‘ssh/key‘))
    auth_type = models.SmallIntegerField(choices=auth_type_choices,default=0)
    password = models.CharField(max_length=128,blank=True,null=True)

    hosts = models.ManyToManyField("Host")

    def __str__(self):
        return "%s(%s)%s" %( self.username,self.get_auth_type_display(),self.password)

3、字段设计原因

1、username要不要唯一?

  为什么不用,这个账户里面存的是多台机器的用户名密码

2、可不可以有密钥和密码?

  有些机器用密码,有些机器用密码,你总的区分吧!

3、password在这个存的是什么格式的?

  1. 存的是什么的密码?远程主机的你能在这加密吗?
  2. 你输入密码的时候输入的密文吗?你知道你机器上的密文在哪吗?你知道它的加密算法吗?
  3. 你加密了之后传给他,他认为是明文,然后他再加密一次。所以只能存明文

4、如果选择是密钥的时候?还需要存用户名和密码吗?

  不需要

六、堡垒机账户表

原文地址:https://www.cnblogs.com/luoahong/p/9433854.html

时间: 2024-10-05 22:27:43

主机管理+堡垒机系统开发:表结构设计的相关文章

python 之路,Day27 - 主机管理+堡垒机系统开发

python 之路,Day27 - 主机管理+堡垒机系统开发 本节内容 需求讨论 构架设计 表结构设计 程序开发 1.需求讨论 实现对用户的权限管理,能访问哪些机器,在被访问的机器上有哪些权限 实现可以通过web页面对指定主机列表 进行 批量发布命令.文件 实现对用户操作进行纪录 2.架构设计 3. 表结构设计 参考 http://www.cnblogs.com/alex3714/articles/5286889.html 分类: Python自动化开发之路 好文要顶 关注我 收藏该文   金角

主机管理+堡垒机系统开发

本节内容 需求讨论 构架设计 表结构设计 程序开发 1.需求讨论 实现对用户的权限管理,能访问哪些机器,在被访问的机器上有哪些权限 实现可以通过web页面对指定主机列表 进行 批量发布命令.文件 实现对用户操作进行纪录 2.架构设计 3. 表结构设计 参考 http://www.cnblogs.com/alex3714/articles/5286889.html 前景介绍 到目前为止,很多公司对堡垒机依然不太感冒,其实是没有充分认识到堡垒机在IT管理中的重要作用的,很多人觉得,堡垒机就是跳板机,

主机管理+堡垒机系统开发:审计回顾

一.创建用户并授权 1.创建用户.设置密码 [[email protected] CrazyEye]useradd audit [[email protected] CrazyEye]# passwd audit Changing password for user audit. New password: BAD PASSWORD: The password is shorter than 8 characters Retype new password: passwd: all authen

开源堡垒机系统Teleport

一. teleport简介 Teleport是一款简单易用的堡垒机系统,具有小巧.易用的特点,支持 RDP/SSH/SFTP/Telnet 协议的远程连接和审计管理. Teleport由两大部分构成: 跳板核心服务 WEB操作界面 官网地址: https://tp4a.com/    官网文档: https://docs.tp4a.com/ 支持的操作系统(服务端) Teleport支持部署到Linux系统中,目前支持的系统版本如下: Ubuntu 14.04 64位 及以上版本 CentOS

共享纸巾机系统开发

   共享纸巾机系统开发咨询颜宇I3O-49微电37-79同号43,共享纸巾机模式搭建,共享纸巾机模式软件开发,共享纸巾机系统软件开发,共享纸巾机APP开发        在这个互联网的时代里,企业的发展自然也离不开互联网这一大平台.除了专做互联网产品的新兴行业之外,传统行业也需要借助互联网的东风实现进一步的飞跃.大势所趋之下,想要从新的竞争环境中脱颖而出,就需要建立新的思维模式--互联网思维. 那么什么是共享经济,一般是指以获得一定报酬为主要目的,基于陌生人且存在物品使用权暂时转移的一种新的经

VOC语音链挖矿矿机系统开发

VOC语音链挖矿虚拟币系统开发找(邓生:180-5429-1700微/电).VOC语音链挖矿VOC语音链语音挖矿系统开发.VOC语音链挖矿VOC语音链系统开发.VOC语音链挖矿区块链系统开发.VOC语音链挖矿矿机系统开发 其一,VOC语音链致力于打造公开的语音信息存储平台.语音信息资源在使用时应当受到严格的限制.而区块链技术的公开性,可以解决这一问题.一切语音信息由用户主动上传收集,再由需求方通过代币购买,交易链条清晰明确,责任分明. 其二,VOC语音链致力于打造公正的语音信息存储平台.现阶段生

河南云之梦一家专门做矿机系统开发 虚拟币交易平台系统的公司

什么是挖矿呢? 1.挖矿只是一个比喻说法,数字资产的挖矿其实就是指进行大量的计算工作. 2.用户可以购买专业运算设备(矿机),然后谁的运算能力高,谁就能获得更多的数字资产. 3.这些计算被用来构建数字资产的数据:同时也被用来作为一种较为公平的方法. 其实云挖矿也就是指虚拟挖矿,不需要化大量资金购买实体矿机去挖矿,而是直接通过软件平台在电脑或者手机上直接进行挖矿,而得到的数字资产.那么这种挖矿的玩法就要比实体挖矿的成本 要低很多,也使得许多玩家比较倾向于云挖矿.有需求就有市场,云挖矿平台也是现在非

项目二:主机管理-00-借鉴

主机管理+堡垒机系统开发 本节内容 需求讨论 构架设计 表结构设计 程序开发 1.需求讨论 实现对用户的权限管理,能访问哪些机器,在被访问的机器上有哪些权限 实现可以通过web页面对指定主机列表 进行 批量发布命令.文件 实现对用户操作进行纪录 2.架构设计 3. 表结构设计 参考 http://www.cnblogs.com/alex3714/articles/5286889.html 前景介绍 到目前为止,很多公司对堡垒机依然不太感冒,其实是没有充分认识到堡垒机在IT管理中的重要作用的,很多

Python 13:程序:堡垒机开发

Python 13:程序:堡垒机开发 1.需求 2.表结构 3.readme 4.目录结构 5.代码 6.测试样图 一.需求 功能需求: 1.所有的用户操作日志要保留在数据库中(先存到redis中防止数据断线丢失)2.每个用户登录堡垒机后,只需要选择具体要访问的设置,就连接上了,不需要再输入目标机器的访问密码3.允许用户对不同的目标设备有不同的访问权限,例: 1.对192.168.1.113有mysql 用户的权限 2.对192.168.1.105有root用户的权限 3.对192.168.1.