参考资料:https://github.com/guohongze/adminset

基础安装说明:
1、基本要求:centos 7.2(1511) django 1.9.8(兼容Django1.11) python 2.7

2、服务端安装 
  生产服务器建议 4核CPU,8G内存以上,学习测试建议 2核CPU,2G内存以上,服务器操作系统版本要求 centos7.2及以上
2.1、下载代码
  git clone https://github.com/guohongze/adminset.git
2.2、执行安装脚本-自动
  adminset/install/server/auto_install.sh
  如果使用自动安装则手动安装跳过,如果手动安装则跳过此步。
  访问:http://your_server_ip
  使用用户名admin 密码Adminset123
2.3、执行安装脚本-手动
  2.3.1 adminset/install/server/server_install.sh
  安装过程需要输入管理员数据库等交互信息,如果安装中断再次执行server_install.sh即可.
  安装过程中会生成rsa密钥,位于/root/.ssh 目录下,如果已经存在,忽略即可。
  2.3.2、手动安装交互信息说明
  1)如果系统开启了selinux会提示:Do you want to disabled selinux?[yes/no]
  选择yes。(默认yes)
  2)YUM源选择提示do you want to use an internet yum repository?[yes/no]
  没有本地的yum源请选择yes,如果有本地的YUM源(包括epel源)请选择no。(默认值yes)
  3)数据库选择提示:do you want to create a new mysql database?[yes/no]
  本地没有数据库选择yes自动下载安装mariadb数据库,如已经存在mysql或mariadb数据库选择no,然后填写相关信息主机、端口、用户名、密码。(默认值yes)
  4)mongodb选择提示:do you want to create a new Mongodb?[YES/no]
  本地没有mongodb选择yes自动下载安装mongodb数据库,如已经存在mongodb数据库选择no,然后填写相关信息主机、端口、用户名、密码。(默认值yes)
  5)创建超管用户提示,please create your adminset' super admin: 输入超管用户名、邮件、密码。
  6)访问:
  http://your_server_ip
  使用自己在安装过程中创建的super admin用户名密码

3、客户端安装

3.1、说明:为保证注册IP是管理IP(后续会被ansible等调用),客户端的IP抓取目前使用主机名解析,否则报错。 如:主机名为cn-bj-web01 请在/etc/hosts中加入相应的解析 192.168.x.x cn-bj-web01,这样再执行adminset_agent.py 可以保证正常运行。

3.2、拷贝install/client/client_install.sh 到客户机上并执行:
install/client/client_install.sh
3.3、拷贝install/client/adminset_agent.py 到客户机上并执行:
python adminset_agent.py
4、访问
http://your_server_ip
使用自己在安装过程中创建的super admin用户名密码

---------------------数据库优化(可选)------------------

默认情况下,mysql安装好之后,会存在匿名用户,也可以叫空用户,输入mysql之后直接回车便可进入mysql。

该匿名用户具有一定的权限,通过SHOW DATABASES;可以查看到information_schema数据库。

可以先查询一下空用户:

1、SELECT user,host,password FROM mysql.user;

2、建议删除

delete from mysql.user where Host=’%’;

DELETE FROM mysql.user WHERE user=’’;

FLUSH PRIVILEGES;

——————华丽的分割线——————

MariaDB [(none)]> select version();

+————————+

| version() |

+————————+

| 5.5.52-MariaDB |

+————————+

1 row in set (0.18 sec)

删除多余的账号(除root和localhost的)

MariaDB [(none)]> use mysql

MariaDB [mysql]> select user,host from mysql.user;

+———+————————————+

| user | host |

+———+————————————+

| root | 127.0.0.1 |

| root | ::1 |

| | localhost |

| root | localhost |

| | lvs-dr01.saltstack.com |

| root | lvs-dr01.saltstack.com |

+———+————————————+

6 rows in set (0.03 sec)

MariaDB [mysql]> delete from mysql.user where (user,host) not in (select ‘root’,’localhost’);

Query OK, 5 rows affected (0.05 sec)

MariaDB [mysql]> select user,host from mysql.user;

+———+—————-+

| user | host |

+———+—————-+

| root | localhost |

+———+—————-+

1 row in set (0.05 sec)

修改默认的mysql管理账号(root改为mysql,并设置新密码为redhat12345)

MariaDB [mysql]> update user set user=”admin” where user=”root”;

MariaDB [mysql]> update mysql.user set user=’admin’,password=password(‘redhat12345’);

Query OK, 1 row affected (0.08 sec)

Rows matched: 1 Changed: 1 Warnings: 0

MariaDB [mysql]> flush privileges;

Query OK, 0 rows affected (0.03 sec)

[root@LVS-DR01 ~]# mysql -uadmin -p’redhat12345’

MariaDB [(none)]> user mysql;

MariaDB [mysql]> show tables;

删除test数据库:

MariaDB [mysql]> drop database test;

MariaDB [mysql]> flush privileges;

MariaDB [(none)]> show databases;

+——————————+

| Database |

+——————————+

| information_schema |

| mysql |

| performance_schema |

+——————————+

3 rows in set (0.06 sec)

优化权限字典表mysql.db

新建MySQL数据库后,默认创建的test数据库权限比较怪异,所有可连接的用户都能够拥有权限访问该库,并操作其中的对象,Host为%,User为空,说明了不受限制,所有能连接到MySQL的用户,全部拥有test及test开头的数据库的几乎所有权限。

MariaDB [mysql]> select from mysql.db where db like ‘test%’ \G

** 1. row *

Host: %

Db: test

User:

Selectpriv: Y

Insert_priv: Y

Update_priv: Y

Delete_priv: Y

Create_priv: Y

Drop_priv: Y

Grant_priv: N

References_priv: Y

Index_priv: Y

Alter_priv: Y

Create_tmp_table_priv: Y

Lock_tables_priv: Y

Create_view_priv: Y

Show_view_priv: Y

Create_routine_priv: Y

Alter_routine_priv: N

Execute_priv: N

Event_priv: Y

Trigger_priv: Y

* 2. row *

Host: %

Db: test\%

User:

Select_priv: Y

Insert_priv: Y

Update_priv: Y

Delete_priv: Y

Create_priv: Y

Drop_priv: Y

Grant_priv: N

References_priv: Y

Index_priv: Y

Alter_priv: Y

Create_tmp_table_priv: Y

Lock_tables_priv: Y

Create_view_priv: Y

Show_view_priv: Y

Create_routine_priv: Y

Alter_routine_priv: N

Execute_priv: N

Event_priv: Y

Trigger_priv: Y

2 rows in set (0.31 sec)

优化的操作:

MariaDB [mysql]> truncate table mysql.db;

Query OK, 0 rows affected (0.01 sec)

MariaDB [mysql]> select * from mysql.db where db like ‘test%’ \G

Empty set (0.00 sec)

优化/root/.mysql_history文件

[root@LVS-DR01 ~]# tail -20 ~/.mysql_history

flush privileges;

select user,host from mysql.user;

delete from mysql.user where user=”‘molewan1’@’10.10.10.%’”;

delete from mysql.db where user=’molewan1’@’10.10.10.%’;

select user,host from mysql.user;

delete from mysql.user where user=molewan1;

delete from mysql.user where user=’molewan1@10.10.10.%’;

flush privileges;

select user,host from mysql.user;

delete from mysql.user where user=”molewan1” and host =”10.10.10.%”;

flush privileges;

select user,host from mysql.user;

delete from mysql.user where user=”molewan” and host=”10.10.10.%”;

flush privileges;

create user molewan@’10.10.10.%’ identified by ‘molewan’;

select user,host from mysql.user;

desc mysql.user;

update mysql.user set password=password(‘admin’) where user=’admin’ and host=’localhost’;

flush privileges;

\q

在Linux/Unix系统下,使用mysql命令行工具执行的所有操作,都会被记录到一个名为.mysql_history的文件中,该文件默认保存在当前用户的根目录下,这个设定原本是为了提升mysql命令行操作体验,在mysql中操作命令就可以上下翻动了,但某些情况下缺会造成隐患。

方案:

方法1:基于DB层的操作

修改MYSQL_HISTFILE环境变量,将其值改为/dev/null,这样所有的操作都会被输出到空,操作的历史

自然不会被保留。

方法2:基于系统层操作

仍旧保留这个文件,但是改文件实际上未/dev/null的软链接,这样所有的操作都会被输出到空,操作的历史自然不会被保留。

ln -f -s /dev/null ~/.mysql_history

[root@LVS-DR01 ~]# tail -20 ~/.mysql_history

这时候就没有输出了

cmdb部署的更多相关文章

  1. 腾讯蓝鲸cmdb部署

    蓝鲸配置平台 (CMDB)http://172.16.6.10:8088 环境(单机测试): Centos6 16G 200G 依赖环境: Java 1.8.0_92 python 2.7 ZooKe ...

  2. python自动化运维之CMDB篇-大米哥

    python自动化运维之CMDB篇 视频地址:复制这段内容后打开百度网盘手机App,操作更方便哦 链接:https://pan.baidu.com/s/1Oj_sglTi2P1CMjfMkYKwCQ  ...

  3. Kubernetes - 腾讯蓝鲸配置平台(CMDB)开源版部署

    蓝鲸CMDB 蓝鲸配置平台(蓝鲸CMDB)是一个基于运维场景设计的企业配置管理服务.主要功能: 1. 拓扑化的主机管理:主机基础属性.主机快照数据.主机归属关系管理 2. 组织架构管理:可扩展的基于业 ...

  4. 完整部署CentOS7.2+OpenStack+kvm 云平台环境(3)--为虚拟机指定固定ip

    之前在测试环境(centos7.2)上部署了openstack云平台(完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建),openstack在neutron组网 ...

  5. 【 DCOS 】织云 CMDB 管理引擎技术详解

    欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者 : 李琦 , 腾讯高级工程师 , 就职于网络平台部.曾负责公司海量运营系统的规划设计,如 TMP.Sniper.GSLB.IDCSp ...

  6. CMDB开发

    浅谈ITIL TIL即IT基础架构库(Information Technology Infrastructure Library, ITIL,信息技术基础架构库)由英国政府部门CCTA(Central ...

  7. 华为专家谈CMDB建设

    CMDB成功的关键因素 对于CMDB项目的失败,普遍的解释是:没有数据的消费场景.工具和技术不行.流程管控不足. 从我自身的实践来看,我对此是有不同看法的.上述原因的确会影响人们使用CMDB,严重时甚 ...

  8. CMDB(Configuration Management Database)资产管理系统和 运维自动化

    一.传统运维方式和自动化运维的区别 二.CMDB的介绍 三.CMDB的四种方式 四.项目的目录架构介绍以及配置文件的升级编写 五.比较low的项目架构书写 六.可插拔式收集资产 七.对收集的服务器信息 ...

  9. CMDB项目开发

    CMDB介绍 CMDB --Configuration Management Database 配置管理数据库, CMDB存储与管理企业IT架构中设备的各种配置信息,它与所有服务支持和服务交付流程都紧 ...

随机推荐

  1. 开源库支付库Magicodes.Pay发布

    Magicodes.Pay,是心莱科技团队提供的统一支付库,相关库均使用.NET标准库编写,支持.NET Framework以及.NET Core.目前支持以下支付方式和功能: 支付宝APP支付 支付 ...

  2. [一] java8 函数式编程入门 什么是函数式编程 函数接口概念 流和收集器基本概念

      本文是针对于java8引入函数式编程概念以及stream流相关的一些简单介绍 什么是函数式编程?   java程序员第一反应可能会理解成类的成员方法一类的东西 此处并不是这个含义,更接近是数学上的 ...

  3. JVM(一)史上最佳入门指南

    提到Java虚拟机(JVM),可能大部分人的第一印象是"难",但当让我们真正走入"JVM世界"的时候,会发现其实问题并不像我们想象中的那么复杂.唯一真正令我们恐 ...

  4. Shiro+easyUI+SpringMVC实现登录认证

      最近在做一个小项目,其中认证这块使用shiro+SpringMVC+easyUI,因为easyUI在提交数据的时候使用的是ajax的异步提交,所以shiro在处理数据的时候需要重写FormAuth ...

  5. 好用的Chrome插件推荐

    无扩展,不 Chrome :几款 Chrome 扩展程序推荐 相信很多人都在使用 Chrome 浏览器,其流畅的浏览体验得到了不少用户的偏爱,但流畅只是一方面, Chrome 最大的优势还是其支持众多 ...

  6. FastReport 循环打印表格数据

    1,在UI上拖放一个表格控件 2.设置表格头部信息,需要显示的数据以及边框颜色 3.选中表格控件设置事件代码: private void Table1_ManualBuild(object sende ...

  7. 【Unity】微软的一款依赖注入组件

    前言 前面学习了autofac这个依赖注入组件,本来是打算写在一起的,因为这个组件没打算像autofac一样详细的写,只是写下以前自己鼓捣玩搭建框架然后使用的一个依赖注入组件,并且也是进行了封装使用. ...

  8. Android APK 签名文件MANIFEST.MF、CERT.SF、CERT.RSA分析

    首先我们找一个已经签名的apk文件,修改后缀名为zip,然后解压.可以看到里面有一个META-INF文件夹,里面就是签名验证的文件.有三个文件MANIFEST.MF.CERT.SF.CERT.RSA分 ...

  9. JavaScript 是如何工作:Shadow DOM 的内部结构 + 如何编写独立的组件!

    这是专门探索 JavaScript 及其所构建的组件的系列文章的第 17 篇. 如果你错过了前面的章节,可以在这里找到它们: JavaScript 是如何工作的:引擎,运行时和调用堆栈的概述! Jav ...

  10. 查询SQLSERVER执行过的SQL记录(历史查询记录)

    有的时候,需要知道近段时间SQLSERVER执行了什么语句,可以用下面的方法: SELECT TOP 1000 QS.creation_time, SUBSTRING(ST.text, (QS.sta ...