需求分析

  一,系统初始化

    1.1  关闭SELinux

    1.2  关闭默认iptables

    1.3  时间同步(配置NTP)

     1.4  文件描述符(必备/etc/security/limmits.conf)

         1.5  内核优化(必备 tcp 内存 io)

    1.6 SSH服务优化(关闭DNS解析,修改端口)

    1.7 精简开机系统服务(只开启SSHD服务)

    1.8 DNS解析(必备)

    1.9 字符集

    1.10 hosts文件统一

    1.11 历史记录优化histroy(记录时间,用户)

    1.12 设置终端超时时间(安全考虑)

    1.13 配置yum源(必备)

    1.14 安装各种agent(zabbix lostash)

    1.15 基础用户,用户审计,sudo权限设置(必备)

    1.16 常用基础命令,命令别名(screen lrzsz tree openssl telnet iftop iotop sysstat wget ntpdate dos2unix lsof net-tools mtr)

    1.17 用户登录提示,包括PS1的修改

    1.18 tcpwrapper修改

    

    cron模块 分时日月周 写了代表该位置是什么不写默认为*

  1. cron-ntpdate:
  2. cron.present:
  3. - name: ntpdate cn.pool.ntp.org
  4. - user: root
  5. - minute: '*/5'

  

  目录结构

  其中文件

  epel-7.repo为下载的yum源

  limits.conf为优化后的文件

  resolv.conf是DNS配置文件

  selinux-config为关闭selinux的文件

  sshd_config修改了默认的端口22为8022并且不允许DNS解析

  dns.sls

  1. /etc/resolv.conf:
  2. file.managed:
  3. - source: salt://init/files/resolv.conf
  4. - user: root
  5. - gourp: root
  6. - mode: 644

  firewalld.sls

  1. firewalld-stop:
  2. service.dead:
  3. - name: firewalld.service
  4. - enable: False

  init/history.sls

  1. histroy-init:
  2. file.append:
  3. - name: /etc/profile
  4. - text:
  5. - export HISTTIMEFORMAT="%F %T `whoami` "

  init/limmit.sls

  1. limmits-config:
  2. file.managed:
  3. - name: /etc/security/limits.conf
  4. - source: salt://init/files/limits.conf
  5. - user: root
  6. - group: root
  7. - mode: 644

  init/ntp-client.sls

  1. install-ntpdate:
  2. pkg.installed:
  3. - name: ntpdate
  4.  
  5. cron-ntpdate:
  6. cron.present:
  7. - name: ntpdate cn.pool.ntp.org
  8. - user: root
  9. - minute: '*/5'

  init/pkg-base.sls

  1. include:
  2. - init.yum-repo
  3.  
  4. base-install:
  5. pkg.installed:
  6. - pkgs:
  7. - screen
  8. - lrzsz
  9. - tree
  10. - openssl
  11. - telnet
  12. - iftop
  13. - iotop
  14. - sysstat
  15. - wget
  16. - dos2unix
  17. - lsof
  18. - net-tools
  19. - mtr
  20. - unzip
  21. - zip
  22. - vim-enhanced
  23. - bind-utils
  24. - require:
  25. - file: /etc/yum.repos.d/epel-7.repo

  init/selinux.sls

  1. close_selinux:
  2. file.managed:
  3. - name: /etc/selinux/config
  4. - source: salt://init/files/selinux-config
  5. - user: root
  6. - group: root
  7. - mode: 0644
  8. cmd.run:
  9. - name: setenforce 0 || echo ok

  init/ssh.sls

  1. sshd-config:
  2. file.managed:
  3. - name: /etc/ssh/sshd_config
  4. - source: salt://init/files/sshd_config
  5. - user: root
  6. - group: root
  7. - mode: 600
  8. service.running:
  9. - name: sshd
  10. - enable: True
  11. - reload: True
  12. - watch:
  13. - file: sshd-config

  init/sysctl.sls

  1. #建议在这里加注释
  2. net.ipv4.tcp_fin_timeout:
  3. sysctl.present:
  4. - value: 2
  5.  
  6. net.ipv4.tcp_tw_reuse:
  7. sysctl.present:
  8. - value: 1

  init/thin.sls

  1. postfix:
  2. service.dead:
  3. - enable: False

  init/tty-style.sls

  1. /etc/bashrc:
  2. file.append:
  3. - text:
  4. - export PS1=' [\u@\h \w]\$ '

  init/tty-timeout.sls

  1. tty-timeout:
  2. file.append:
  3. - name: /etc/profile
  4. - text:
  5. - export TMOUT=300

  init/user-www.sls

  1. www-user-group:
  2. group.present:
  3. - name: www
  4. - gid: 1000
  5.  
  6. user.present:
  7. - name: www
  8. - fullname: www
  9. - shell: /sbin/bash
  10. - uid: 1000
  11. - gid: 1000

  init/yum-repo.sls

  1. /etc/yum.repos.d/epel-7.repo:
  2. file.managed:
  3. - source: salt://init/files/epel-7.repo
  4. - user: root
  5. - group: root
  6. - mode: 644

  init-all.sls

  1. include:
  2. - init.dns
  3. - init.yum-repo
  4. - init.firewalld
  5. - init.history
  6. - init.limmit
  7. - init.ntp-client
  8. - init.pkg-base
  9. - init.selinux
  10. - init.ssh
  11. - init.sysctl
  12. - init.thin
  13. - init.tty-timeout
  14. - init.tty-style
  15. - init.user-www

  执行即可初始化

  1. salt 'linux-node2.example.com' state.sls init-all

  

  

  

SaltStack生产案例-系统初始化的更多相关文章

  1. SaltStack生产案例-服务部署(redis,mysql,apache+php,haproxy+keepalived)

    顺序代码资料链接 课上资料.zip 接上篇:SaltStack生产案例-系统初始化 1,redis 主从 2,mysql 主从 2.1 mysql-install.sls (安装 初始化) 2.2   ...

  2. Saltstack生产案例之系统初始化

    把之前的配置打个包 zip -r salt.zip * 拷贝到/root/tools目录 博客园文件里面也保留一份,删除之前所有的salt配置文件重新开始 想 1,系统初始化 2,功能模块:设置单独的 ...

  3. Saltstack生产案例之Haproxy安装

    cd /srv/salt/prod/ mkdir haproxymkdir keepalivedmkdir nginxmkdir phpmkdir memcachedmkdir pkg cd pkg ...

  4. saltstack系统初始化(九)

    一.系统初始化需要的配置 当我们的服务器上架并安装好操作系统后,都会有一些基础的操作,所以生产环境中使用SaltStack,建议将所有服务器都会涉及的基础配置或者软件部署归类放在base环境下.此处, ...

  5. Linux安装系统注意事项及系统初始化

      Linux安装系统注意事项 1.分区 学习用途: /boot:200M /swap :内存的1到2倍 /:根据需要分配大小,比如虚拟机下总空间是15G,那么可以分配8——10G跟/分区,如果是生产 ...

  6. centos系统初始化流程及实现系统裁剪

    Linux系统的初始化流程: POST:ROM+RAM BIOS: Boot Sequence MBR: 446:bootloader 64: 分区表 2: 5A kernel文件:基本磁盘分区 /s ...

  7. Shell编程—企业生产案例

    Linux系统Shell编程—企业生产案例(一) 企业数据库可以说是重点保护对象啊,没有之一,数据在当今企业里就是生命线,因此今天就来说一说,如何通过shell脚本来检查或监控MYSQL数据库服务是否 ...

  8. 06 saltstack生产实例-需求

    https://github.com/unixhot/saltbook-code .Cobbler 1.15 统一网卡名 .Zabbix 系统已经安装好了! base .手动实现 .需要使用salt的 ...

  9. 七个生产案例告诉你BATJ为何选择ElasticSearch!应用场景和优势!

    本文来源于公众号[胖滚猪学编程],转载请注明出处. 从今天开始,想和你一起死磕ElasticSearch,学习分布式搜索引擎,跟着胖滚猪就对了! 既然是ES的第一课,那么最重要的是让你爱上它!不想说那 ...

随机推荐

  1. C++ STL 教程

    C++ STL 教程在前面的章节中,我们已经学习了 C++ 模板的概念.C++ STL(标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的 ...

  2. Swing开发图形界面有如下优势

    Swing开发图形界面有如下优势 : Swing组件不再依赖于本地平台的GUI,无须采用各种平台的GUI交集,因此Swing提供了大量图形界面组件,远远超出了AWT所提供的图形界面组件集. Swing ...

  3. linux -- Ubuntu查看修改mysql的登录名和密码、安装phpmyadmin

    安装好mysql后,在终端输入 mysql -u root -p 按回车,输入密码后提示access denied......ues password YES/NO的错误 原因是用户名或密码不对! 查 ...

  4. MySQl安装全解

    这是第二次安装MySql了.第一次安装花了几个小时,理解安装的每一个页面,这次光寻找安装包就找了几个.因此感觉有必要做一次全面的安装笔记.(有点浪费时间了,可是感觉非常值得)本人系统是window7. ...

  5. perl 内置操作符 $^O -判断操作系统环境

    今天看bowtie2的源代码的时候,发现有这样一段用法: my $os_is_nix = $^O ne "MSWin32"; my $align_bin_s = $os_is_ni ...

  6. 同一种类型的两个对象赋值,用反射。再也不用点属性了。。。。(适用于ef)

    /// <summary> /// 给对象赋值的方法(不赋地址)(同一个类型),含过滤 /// </summary> /// <typeparam name=" ...

  7. Windows 环境搭建Redis集群

    环境以及引用资料 1.windows server 2008 r2 enterprise  (木有办法,公司的服务器全是如此,就这种环境搭建吧) 2.redis官方资料下载: https://redi ...

  8. Windows下基于eclipse的Storm应用开发与调试

    原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3971113.html 本文以一个简单的example来讲解如何开发storm应用程序 1.创建maven ...

  9. React封装RadioGroup

    class RadioGroup extends React.Component { getRadioComponent(item, index) { return <div className ...

  10. 1亿条数据在PHP中实现Mysql数据库分表100张

    当数据量猛增的时候,大家都会选择库表散列等等方式去优化数据读写速度.笔者做了一个简单的尝试,1亿条数据,分100张表.具体实现过程如下: 首先创建100张表: $i=0; while($i<=9 ...