死磕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是怎么选择索引< ...
随机推荐
- Html-完整表格
表头th 特殊的单元格:加粗.居中 它的用户是取代td的位置即可 <table border="2"> <tr> <th>姓名</th&g ...
- 如鹏网学习笔记(十五)ASP.NET MVC核心基础笔记
一.ASP.Net MVC简介 1,什么是ASP.NET MVC? HttpHandler是ASP.net的底层机制,如果直接使用HttpHandler进行开发难度比较大.工作量大.因此提供了ASP. ...
- docker 无法启动容器,run容器后状态为restarting
问题:如题,无法进入容器,docker logs 容器id 发现 哦 ,原来缺少个文件,这些就容易了
- LOJ572: Misaka Network 与求和
传送门 假设 \(f^k(i)\) 就是 \(f(i)\) 莫比乌斯反演得到 \[ans=\sum_{i=1}^{N}\lfloor\frac{N}{i}\rfloor^2\sum_{d|i}f(d) ...
- SPOJ:LCS2 - Longest Common Substring II
题面 给定一些字符串,求出它们的最长公共子串 输入格式 输入至多 \(10\) 行,每行包含不超过 \(100000\)个的小写字母,表示一个字符串 输出格式 一个数,最长公共子串的长度 若不存在最长 ...
- cf1060D. Social Circles(贪心)
题意 题目链接 Sol 我是这样考虑的:从大到小考虑每个\(l, r\),最大的\(l\)应该和最大的\(r\)匹配(不然就亏了),其次次大的\(r\)应该和次大的\(l\)匹配 然后就过了.. /* ...
- JavaWeb学习总结(五):HttpServletRespone对象(一)
Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象.request和response对象即然代表请求和响应,那我们要 ...
- Canvas中的剪切clip()方法
Canvas中的剪切 接下来我们要聊的不是图像的合成,而是Canvas中的另一个有用的功能:剪切区域.它是Canvas之中由路径所定义的一块区域,浏览器会将所有的绘图操作都限制在本区域内执行.在默认情 ...
- drupal7在page中直接输出区块
//正规方法:$block = block_load('block', '1');// block_load($module, $delta) block.module 行 714 $output = ...
- 转:php 获取memcache所有key
文章出处 在php提供的用于与memcached交互的扩展模块中有memcached与memcache,前者提供方法getAllKeys用于遍历所有Memcached服务器上的key,但是并不保证原子 ...