死磕salt系列-salt配置文件
这篇文件主要用来解释一下salt配置中常用的参数,其他的参数可以参考官网文档。
基础参数
interface: 服务器监听地址。ipv6: 是否启用ipv6。max_open_files: 最大文件打开数。worker_threads: 启动几个主线程。timeout: 设置saltAPI和命令默认超时时间。state_verbose: 显示返回状态的详细信息程度。False 只返回变化的地方及执行结果。
日志配置
log_file: /var/log/salt/master日志文件存放位置。log_level: warning日志文件的级别。
除了将日志写入到本地,也可以将日志写入到rsyslog中。格式: <file|udp|tcp>://<host|socketpath>:<port-if-required>/<log-facility>。
log_file: udp://loghost:10514
log的日志级别
- quiet: 不应该配置这个级别的参数。
- critical: 严重错误日志才写入。
- error: 写入错误日志。
- warning: 写入告警级别的日志。
- info: 正常的日志。
- profile: 分析salt的性能信息。
- debug: 详细日志
- trace: 比debug更详细的日志。
- garbage: 更多的详细日志。
- all: 所有的日志。
file_roots 配置
file_roots:
base:
- /data/db/salt/base/
prod:
- /data/db/salt/prod/
test:
- /data/db/salt/test/
存放sls配置文件的地方。可以在salt命令中使用saltenv 知道使用具体的环境。默认是base。
salt 'linux-node2' state.sls nginx.config saltenv=prod
pillar_roots:
base:
- /data/db/salt/pillar
存放pillar配置文件的地方。
salt权限控制
pam 模块权限控制
salt 扩展认证 PAM,可以利用PAM 认证机制对系统账户做出功能操作上的限制。依赖的模块salt.states.external_auth。
- 认证用户不允许使用root
- 可以限制认证用户可使用的功能模块
- 可以限定认证用户可管理的主机
开启PAM认证
编辑 /etc/salt/master
external_auth:
pam:
salt:
- '*'
创建 salt 用户 设置密码
验证
salt PAM 认证用户 只能通过-a pam 参数才能使用
salt -a pam test.ping
会提示登陆用户,输入密码,如果正确返回结果,说明pam认证已经生效
实例 :
/etc/salt/master
external_auth:
pam:
admin:
- '*' # 所有模块
salt:
- test.ping # test.ping 模块
test:
- 'dev*': # 主机配置规则
- test.ping # Salt 模块
解释:
- admin 用户可管理所有主机,使用所有salt功能模块
- salt 用户可管理所有主机,仅能使用test.ping模块
- test 用户只能管理部分主机,仅能使用test.ping模块
实例1: 以salt用户为例,认证用户必须打开PAM 参数才能操作
失败操作:
salt '*' test.ping
Failed to authenticate, is this user permitted to execute commands?
成功操作:
salt -a pam '*' test.ping
username: salt
password:
ubuntu-master:
True
实例2: 以salt用户为例,执行未授权模块被拒绝
salt -a pam '*' state.highstate
username: salt
password:
Failed to authenticate, is this user permitted to execute commands?
以test用户为例,操作未授权主机被拒绝
失败操作
salt -a pam '*' test
username: test
password:
Failed to authenticate, is this user permitted to execute commands?
成功操作
salt -a pam 'test-001' test
username: test
password:
test-001:
True
参考文档
死磕salt系列-salt配置文件的更多相关文章
- 死磕nginx系列--nginx 目录
死磕nginx系列--nginx入门 死磕nginx系列--nginx配置文件 死磕nginx系统-nginx日志配置 死磕nginx系列--nginx服务器做web服务器 死磕nginx系列--使用 ...
- 死磕nginx系列
死磕nginx系列 死磕nginx系列--nginx入门 死磕nginx系列--nginx配置文件 死磕nginx系统--nginx日志配置 死磕nginx系列--nginx服务器做web服务器 死磕 ...
- 死磕salt系列-salt文章目录汇总
死磕salt系列-salt入门 死磕salt系列-salt配置文件 死磕salt系列-salt grains pillar 配置 死磕salt系列-salt 常用modules 死磕salt系列-sa ...
- 一生挚友redo log、binlog《死磕MySQL系列 二》
系列文章 原来一条select语句在MySQL是这样执行的<死磕MySQL系列 一> 一生挚友redo log.binlog<死磕MySQL系列 二> 前言 咔咔闲谈 上期根据 ...
- MySQL强人“锁”难《死磕MySQL系列 三》
系列文章 一.原来一条select语句在MySQL是这样执行的<死磕MySQL系列 一> 二.一生挚友redo log.binlog<死磕MySQL系列 二> 前言 最近数据库 ...
- S 锁与 X 锁的爱恨情仇《死磕MySQL系列 四》
系列文章 一.原来一条select语句在MySQL是这样执行的<死磕MySQL系列 一> 二.一生挚友redo log.binlog<死磕MySQL系列 二> 三.MySQL强 ...
- 如何选择普通索引和唯一索引《死磕MySQL系列 五》
系列文章 一.原来一条select语句在MySQL是这样执行的<死磕MySQL系列 一> 二.一生挚友redo log.binlog<死磕MySQL系列 二> 三.MySQL强 ...
- 五分钟,让你明白MySQL是怎么选择索引《死磕MySQL系列 六》
系列文章 二.一生挚友redo log.binlog<死磕MySQL系列 二> 三.MySQL强人"锁"难<死磕MySQL系列 三> 四.S 锁与 X 锁的 ...
- 字符串可以这样加索引,你知吗?《死磕MySQL系列 七》
系列文章 三.MySQL强人"锁"难<死磕MySQL系列 三> 四.S 锁与 X 锁的爱恨情仇<死磕MySQL系列 四> 五.如何选择普通索引和唯一索引&l ...
- 无法复现的“慢”SQL《死磕MySQL系列 八》
系列文章 四.S 锁与 X 锁的爱恨情仇<死磕MySQL系列 四> 五.如何选择普通索引和唯一索引<死磕MySQL系列 五> 六.五分钟,让你明白MySQL是怎么选择索引< ...
随机推荐
- 【总】java面试题
100+经典Java面试题及答案解析 https://www.cnblogs.com/pureEve/p/6546280.html 2017 最新java面试题(技术面试) https://blog. ...
- IntelliJ使用指南—— 导入Eclipse的Web项目
通常一个团队中可能有人用eclipse,有人用intelliJ,那么经常会出现需要导入别人用eclipse建好的web项目.而IntelliJ提供了多种项目类型的导入方式,其中就有eclipse. 在 ...
- 数据集DataSet
ADO.NET数据访问技术的一个突出的特点就是支持离线访问,而实现这种离线访问技术的核心就是DateSet对象,该对象通过将数据驻留在内存来实现离线访问. DataSet对象由一组DataTable对 ...
- Spring.Net---4、IoC/DI注入方式
spring.net里实现了控制反转IOC(Inversion of control),也即依赖注入DI(Dependency Injection),以达到解耦的目的,实现模块的组件化.程序在调用sp ...
- C# Winform程序CPU占用高的原因和解决方法
程序CPU占用高的可能原因: 1.存在死循环: 为什么死循环会导致CPU占用高呢? 虽然分时操作系统是采用时间片的机制对CPU的时间进行管理的,也就是说到了一定时间它会自动从一个进程切换到下 ...
- [PHP] 从PHP 5.6.x 移植到 PHP 7.0.x新特性
从PHP 5.6.x 移植到 PHP 7.0.x 新特性: 1.标量类型声明 字符串(string), 整数 (int), 浮点数 (float), 布尔值 (bool),callable,array ...
- [PHP] PHP的脚本执行
PHP的脚本执行:PHP的脚本执行还是会经过编译环节, 只不过它们一般会在运行的时候实时进行编译1.启动PHP及Zend引擎, 加载注册的扩展模块2.读取脚本文件,Zend引擎对脚本文件进行词法分析, ...
- 简单Json序列化和反序列化
序列化是什么: 序列化就是将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得.序列化分为两大部分:序列化和反序列化.序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络 ...
- js类的笔记
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- html-路径的介绍
一.绝对路径 绝对路径是指文件在硬盘上真正存在的路径 - D:\Java\JavaWeb\day01\a.jpg - http://www.baidu.com/b.jpg 二.相对路径 一个文件相对于 ...