创建初始化目录
mkdir /srv/salt/base/init
init目录:初始化的模块
[root@node1-saltstack base]# ll
总用量 4
drwxr-xr-x 2 root root 6 1月 7 12:48 init
-rw-r--r-- 1 root root 23 1月 7 10:09 top.sls
1、新上线的服务器,需要配置dns
[root@node1-saltstack base]# cat init/dns.sls
/etc/resolv.conf:
file.managed:
- source: salt://init/files/resolv.conf
- user: root
- group: root
- mode: 644
放入文件
cp /etc/resolv.conf /srv/salt/base/init/files/
2、history 要记录命令执行时间
命令:
export HISTTIMEFORMAT="%F %T `whoami`"
创建初始化文件:
[root@node1-saltstack ~]# cat /srv/salt/base/init/history.sls
/etc/profile:
file.append:
- text:
- export HISTTIMEFORMAT="%F %T `whoami`"
3、记录所有文件
命令:
export PROMPT_COMMAND='{ msg=$(history 1 | { read x y;echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg";}'
创建审计文件sudit.sls
[root@node1-saltstack ~]# cat /srv/salt/base/init/sudit.sls
/etc/bashrc:
file.append:
- text:
- export PROMPT_COMMAND='{ msg=$(history 1 | { read x y;echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg";}'
4、修改内核参数
有一个sysctl的模块
本地随机端口
[root@node1-saltstack ~]# cat /proc/sys/net/ipv4/ip_local_port_range
32768 61000
打开最大文件数:
[root@node1-saltstack ~]# cat /proc/sys/fs/file-max
46021
[root@node1-saltstack init]# cat sysctl.sls
vm.swappiness:
sysctl.present:
- value: 0
net.ipv4.ip_local_port_range:
sysctl.present:
- value: 10000 65000
fs.file-max:
sysctl.present:
- value: 100000
''''略'''''
5、包含所有文件(在top文件中只写着一个就可以)
[root@node1-saltstack init]# cat env_init.sls
include:
- init.dns
- init.history
- init.sudit
- init.sysctl
创建top.sls
[root@node1-saltstack init]# cat /srv/salt/base/top.sls
base:
'*':
- init.env_init
init. :是一个目录
[root@node1-saltstack base]# tree
.
├── init
│ ├── dns.sls
│ ├── env_init.sls
│ ├── files
│ │ └── resolv.conf
│ ├── history.sls
│ ├── sudit.sls
│ └── sysctl.sls
└── top.sls
2 directories, 7 files
模拟执行:
salt '*' state.highstate test=True
真实执行
salt '*' state.highstate