这篇文件主要用来解释一下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

参考文档

master端配置

官方文档-eauth

死磕salt系列-salt配置文件的更多相关文章

  1. 死磕nginx系列--nginx 目录

    死磕nginx系列--nginx入门 死磕nginx系列--nginx配置文件 死磕nginx系统-nginx日志配置 死磕nginx系列--nginx服务器做web服务器 死磕nginx系列--使用 ...

  2. 死磕nginx系列

    死磕nginx系列 死磕nginx系列--nginx入门 死磕nginx系列--nginx配置文件 死磕nginx系统--nginx日志配置 死磕nginx系列--nginx服务器做web服务器 死磕 ...

  3. 死磕salt系列-salt文章目录汇总

    死磕salt系列-salt入门 死磕salt系列-salt配置文件 死磕salt系列-salt grains pillar 配置 死磕salt系列-salt 常用modules 死磕salt系列-sa ...

  4. 一生挚友redo log、binlog《死磕MySQL系列 二》

    系列文章 原来一条select语句在MySQL是这样执行的<死磕MySQL系列 一> 一生挚友redo log.binlog<死磕MySQL系列 二> 前言 咔咔闲谈 上期根据 ...

  5. MySQL强人“锁”难《死磕MySQL系列 三》

    系列文章 一.原来一条select语句在MySQL是这样执行的<死磕MySQL系列 一> 二.一生挚友redo log.binlog<死磕MySQL系列 二> 前言 最近数据库 ...

  6. S 锁与 X 锁的爱恨情仇《死磕MySQL系列 四》

    系列文章 一.原来一条select语句在MySQL是这样执行的<死磕MySQL系列 一> 二.一生挚友redo log.binlog<死磕MySQL系列 二> 三.MySQL强 ...

  7. 如何选择普通索引和唯一索引《死磕MySQL系列 五》

    系列文章 一.原来一条select语句在MySQL是这样执行的<死磕MySQL系列 一> 二.一生挚友redo log.binlog<死磕MySQL系列 二> 三.MySQL强 ...

  8. 五分钟,让你明白MySQL是怎么选择索引《死磕MySQL系列 六》

    系列文章 二.一生挚友redo log.binlog<死磕MySQL系列 二> 三.MySQL强人"锁"难<死磕MySQL系列 三> 四.S 锁与 X 锁的 ...

  9. 字符串可以这样加索引,你知吗?《死磕MySQL系列 七》

    系列文章 三.MySQL强人"锁"难<死磕MySQL系列 三> 四.S 锁与 X 锁的爱恨情仇<死磕MySQL系列 四> 五.如何选择普通索引和唯一索引&l ...

  10. 无法复现的“慢”SQL《死磕MySQL系列 八》

    系列文章 四.S 锁与 X 锁的爱恨情仇<死磕MySQL系列 四> 五.如何选择普通索引和唯一索引<死磕MySQL系列 五> 六.五分钟,让你明白MySQL是怎么选择索引< ...

随机推荐

  1. WCF-绑定模型(一)

    一.利用BasicHttpBinding实现消息通信 WCF基础架构由服务模型层和信道层构成,而绑定是两层直接的纽带.绑定创建了处理消息的信道栈,实现消息的传输和处理.在绑定模型中涉及很多通信对象,信 ...

  2. JS日期、月份的加减

    JS日期.月份的加减 需要注意的是返回的月份是从0开始计算的,也就是说返回的月份要比实际月份少一个月,因此要相应的加上1 // 日期,在原有日期基础上,增加days天数,默认增加1天 function ...

  3. Dapper的简单使用(初学者归纳)

    Dapper的简单使用(初学者归纳) //引用:using System;using System.Collections.Generic;using System.Linq;using System ...

  4. 三:Bootstrap-js插件

    模式框: <button class="btn btn-default btn-lg" data-toggle="modal" data-target=& ...

  5. Zookeeper配置要点必看

    注意点 zookeeper需要在各个节点的机器上搭建,它的启动也要在各个节点的$ZOOKEEPER_HOME/bin 下启动. 环境搭建 下载安装包并解压. 在$ZOOKEEPER_HOME/conf ...

  6. 前端(七):ES6一些新特性

    一.变量 1.var关键字的弊端 var关键字的弊端:1.可以重复声明变量:2.无法限制变量修改:3.没有块级作用域,只有函数作用域. <html lang="en"> ...

  7. EF框架CodeFirst the model backing the 'PModelEntities' context has changed since the database was created. Consider using Code First Migrations to update the database

    1.采用code first 做项目时,数据库已经生成,后期修改数据库表结构.再次运行时出现一下问题: Entity Framework : The model backing the 'Produc ...

  8. java设计模式-----8、策略模式

    Strategy模式也叫策略模式是行为模式之一,它对一系列的算法加以封装,为所有算法定义一个抽象的算法接口,并通过继承该抽象算法接口对所有的算法加以封装和实现,具体的算法选择交由客户端决定(策略).S ...

  9. jQuery UI简单的讲解

    我们先进入一下问答时间,你都知道多少呢? (1)什么是jQuery UI 呢? 解答:jQuery UI 是以 jQuery 为基础的开源 JavaScript 网页用户界面代码库.包含底层用户交互. ...

  10. UOJ#54 BZOJ3434 [WC2014]时空穿梭

    题目描述 小 X 驾驶着他的飞船准备穿梭过一个 \(n\) 维空间,这个空间里每个点的坐标可以用 \(n\) 个实数表示,即 \((x_1,x_2,\dots,x_n)\). 为了穿过这个空间,小 X ...