前面我们已经了解了saltstack的基础功能,现在就可以使用saltstack为初始化新安装的linux系统。

初始化列表:

1.关闭selinux
3.修改sshd配置文件
4.内核优化
5.ulimit修改
6.history记录
7.时区修改及添加cron
8.安装epel
9.修改resolv解析文件
10.软件安装
好了,此前我们已经修改了salt的base目录,默认在/srv/salt 下我们调整到/etc/salt目录下了
现在呢,我们需要去建立一个目录专门用于存放初始化sls的。

[root@localhost base]# pwd
/etc/salt/base

[root@localhost base]# mkdir init

date_time.sls

系统时区修改

[root@localhost init]# vim date_time.sls date_time:pkg.installed:- name: ntpdate- unless: rpm -qa | grep ntpdatecmd.run:- name:  rm -rf /etc/localtime && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && ntpdate pool.ntp.org- require:- pkg: ntpdatecron.present:- name: /usr/sbin/ntpdate pool.ntp.org >/dev/null- user: root- minute: '*/5'- require:- pkg: ntpdate

epel.sls

epel文件调整,系统为centos 7

[root@localhost init]#vim epel.sls epel_install:pkg.installed:- sources:- epel-release: http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm- unless: rpm -qa | grep epel-release-7-5

history.sls

修改操作命令记录

[root@localhost init]# vim history.sls /etc/bashrc:file.append:- text:- HISTTIMEFORMAT="%F %T `whoami` "cmd.run:- name: source /etc/bashrc

limits.sls

limits参数调整

[root@localhost init]# vim limits.sls /etc/security/limits.conf:file.append:- text:- '* hard nofile 204800'- '* soft nofile 204800'/etc/profile:file.append:- text:- 'ulimit -c unlimited'~/.bashrc:file.append:- text:- alias vi='"'vim'"'

resolv.sls

DNS解析文件修改

[root@localhost init]#vim resolv.sls resolv:file.managed:- name: /etc/resolv.conf- source: salt://init/resolv.conf
[root@localhost init]# vim resolv.conf
# Generated by NetworkManager
nameserver 114.114.114.114
nameserver 8.8.8.8
[root@localhost init]#

selinux.sls

selinux卸载

[root@localhost init]# vim selinux.sls selinux:cmd.run:- name: yum remove selinux-policy -y

soft_install.sls

基础软件安装

[root@localhost init]# vim soft_install.sls soft-install:pkg.installed:- names:- lrzsz- telnet- openssh-clients- ftp- sysstat- bc- rsync- wget- screen- dstat- vim-enhanced- gcc- gcc-c++- make- dos2unix- net-tools
[root@localhost init]#

sshd_config.sls

SSHD配置文件调整

[root@localhost init]# vim sshd_config.sls sshd:file.managed:- name: /etc/ssh/sshd_config- source: salt://init/sshd_configservice.running:- enable: True- reload: True- watch:- file: /etc/ssh/sshd_config
[root@localhost init]# vim sshd_config
Port 22
Protocol 2
SyslogFacility AUTHPRIV
PasswordAuthentication yes
PermitEmptyPasswords no
ChallengeResponseAuthentication yes
Compression yes
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
X11Forwarding yes
UsePAM yes
UseDNS no
Subsystem       sftp    /usr/libexec/openssh/sftp-server
LogLevel  DEBUG#allowusers root@192.168.140.129
#allowusers root@192.168.140.1

sysctl.sls

内核参数调整

[root@localhost init]# vim sysctl.sls
net.ipv4.conf.default.rp_filter:sysctl.present:- value: 1
net.ipv4.conf.default.accept_source_route:sysctl.present:- value: 0kernel.sysrq:sysctl.present:- value: 0kernel.core_uses_pid:sysctl.present:- value: 1kernel.msgmnb:sysctl.present:- value: 65536kernel.msgmax:sysctl.present:- value: 65536kernel.shmmax:sysctl.present:- value: 68719476736kernel.shmall:sysctl.present:- value: 4294967296kernel.shmmni:sysctl.present:- value: 4096kern.maxfiles:sysctl.present:- value: 65536net.ipv4.tcp_fin_timeout:sysctl.present:- value: 30net.ipv4.tcp_keepalive_time:sysctl.present:- value: 1200net.ipv4.tcp_window_scaling:sysctl.present:- value: 1net.ipv4.tcp_sack:sysctl.present:- value: 1net.ipv4.tcp_syncookies:sysctl.present:- value: 1net.ipv4.tcp_tw_reuse:sysctl.present:- value: 1net.ipv4.tcp_tw_recycle:sysctl.present:- value: 1net.ipv4.ip_local_port_range:sysctl.present:- value: 1024 65000net.ipv4.tcp_max_tw_buckets:sysctl.present:- value: 6000net.ipv4.tcp_max_syn_backlog:sysctl.present:- value: 65535net.core.netdev_max_backlog:sysctl.present:- value: 262144net.core.wmem_default:sysctl.present:- value: 8388608net.core.rmem_default:sysctl.present:- value: 8388608net.core.rmem_max:sysctl.present:- value: 16777216net.core.wmem_max:sysctl.present:- value: 16777216net.ipv4.tcp_timestamps:sysctl.present:- value: 0net.ipv4.tcp_synack_retries:sysctl.present:- value: 2net.ipv4.tcp_syn_retries:sysctl.present:- value: 2net.ipv4.tcp_mem:sysctl.present:- value: 94500000 915000000 927000000net.ipv4.tcp_max_orphans:sysctl.present:- value: 3276800
[root@localhost init]#

建立入口文件及管理文件

[root@localhost base]# pwd
/etc/salt/base
[root@localhost base]# ls
init  system_init.sls  top.sls
[root@localhost base]# vim system_init.sls
include:- init.selinux- init.epel- init.date_time- init.soft_install- init.history- init.limits- init.sysctl- init.sshd_config- init.resolv
[root@localhost base]# vim top.sls
base:'*':- system_init
[root@localhost base]#

执行命令

[root@localhost base]# salt '*' state.highstate test=True     执行前先测试
[root@localhost base]#  salt '*' state.highstate

转载于:https://www.cnblogs.com/guigujun/p/8516324.html

saltstack 初始化LINUX系统相关推荐

  1. linux系统回收站功能的实现

    如何实现linux系统的回收站功能,对rm权限做限制,避免误删造成不可逆问题. 这就要靠环境变量去实现,首先需要了解环境变量的作用. /etc/profile,/etc/bashrc 是系统全局环境变 ...

  2. 浅析 Linux 初始化 init 系统

    第 1 部分: sysvinit 从 sysvinit 到 systemd 近年来,Linux 系统的 init 进程经历了两次重大的演进,传统的 sysvinit 已经淡出历史舞台,新的 init ...

  3. 详解linux系统的启动过程及系统初始化

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://chrinux.blog.51cto.com/6466723/1192004 一. ...

  4. 浅析 Linux 初始化 init 系统:sysvinit

    2019独角兽企业重金招聘Python工程师标准>>> 从 sysvinit 到 systemd 近年来,Linux 系统的 init 进程经历了两次重大的演进,传统的 sysvin ...

  5. 浅析 Linux 初始化 init 系统: UpStart

    浅析 Linux 初始化 init 系统: UpStart Upstart 简介 假如您使用的 Linux 发行版是 Ubuntu,很可能会发现在您的计算机上找不到/etc/inittab 文件了,这 ...

  6. 第二部分:浅析 Linux 初始化 init 系统:upstart

    Upstart 简介 假如您使用的 Linux 发行版是 Ubuntu,很可能会发现在您的计算机上找不到/etc/inittab 文件了,这是因为 Ubuntu 使用了一种被称为 upstart 的新 ...

  7. linux初始化内存盘卡住,Linux系统内存磁盘初始化技术详细解析

    转自:http://m.zol.com.cn/article/1271270.html?via=index Linux内存初始化技术(initrd)用于支持两阶段的系统引导过程,是在系统启动过程中被挂 ...

  8. 嵌入式Linux初始化硬件RTC,嵌入式Linux系统中的快速启动技术研究

    嵌入式Linux系统主要特点在于使用Bootloader替代了桌面系统的BIOS,同时对系统进行了规模上的裁剪,但硬件上的劣势往往导致系统启动速度较慢,而嵌入式产品使用者又对系统的开机速度比较敏感,样 ...

  9. 浅析 Linux 初始化 init 系统,第 3 部分: Systemd

    近年来,Linux 系统的 init 进程经历了两次重大的演进,传统的 sysvinit 已经逐渐淡出历史舞台,新的 UpStart 和 systemd 各有特点,越来越多的 Linux 发行版采纳了 ...

最新文章

  1. php验证 js验证邮箱格式,js和php邮箱地址验证的实现方法
  2. linux chown 函数用噶,chown - Linux C 函数 使用手册
  3. Web前端主要学什么?这些知识要掌握
  4. 局网计算机无法访问,局域网计算机不能访问服务器的原因是什么
  5. linux date 小写h,linux date 命令详解[转载]
  6. pywin32官方说明文档_GEE学习笔记 六十五:GEE的Python版API说明文档(英文版)
  7. java zoneoffset,java - 如何在java8中获取默认的ZoneOffset? - SO中文参考 - www.soinside.com...
  8. LeetCode 1971. Find if Path Exists in Graph(图的遍历)
  9. python遍历文件夹方法
  10. OSPFv3中LSA详解(二)——Router LSA详解
  11. Juniper SRX240 U盘升级junos
  12. 服务器网站dns服务器,国内各个域名服务商主要dns服务器
  13. java openxml word_OpenXml读取word内容的实例
  14. C++析取器在代码自动化测试中的应用
  15. js设置html打印不分页,web 页面分页打印的实现
  16. android studio 如何查看帮助文档
  17. python 移动平均线_Python中的移动平均线
  18. FMCW雷达测距技术最强最全解析
  19. NO.1—Python安装与环境配置
  20. 学哪种编程语言比较好?

热门文章

  1. 打线上包 测试_vue-cli项目分别打测试包(test)和生产包(prod)
  2. DE 32: Limit Cycles
  3. 在训练期间保存检查点
  4. android 组件大小,Android编程获取组件尺寸大小的方法
  5. 推荐系统组队学习——WideDeep
  6. 从零开始刷Leetcode——数组(830.849.888)
  7. EasyPR--中文车牌识别系统 开发详解(开源)
  8. java setenabled不好用,哪个更好,setEnabled或setUserInteractionEnabled?
  9. python中面向对象的缺点_面向对象中的多态在 Python 中是否没有什么意义?
  10. android 开发中判断网络是否连接的代码