zoukankan      html  css  js  c++  java
  • cmdb部署

    参考资料: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

    这时候就没有输出了

  • 相关阅读:
    go反射实现实体映射
    golang的time包:秒、毫秒、纳秒时间戳输出
    在 Gin 框架中使用 JWT 认证
    docker安装redis
    docker安装mysql5.7
    Python Web实战:Python+Django+MySQL实现基于Web版的增删改查
    apache2.4配置weblogic12c集群(linux环境)
    小BUG大原理:重写WebMvcConfigurationSupport后SpringBoot自动配置失效
    Spring源码解析02:Spring IOC容器之XmlBeanFactory启动流程分析和源码解析
    Git进阶:常用命令和问题案例整理
  • 原文地址:https://www.cnblogs.com/fatyao/p/10206826.html
Copyright © 2011-2022 走看看