概述: 开启对系统上非root的系统用户可以在master上执行一些特殊的模块,或者禁止用户执行某些模块,或者某个模块里面的具体的某个方法等
查看当前saltstack版本有哪些模块
[admin@master ~]$ sudo salt 'proxy01*' sys.list_modules
查看每个模块有哪些方法(以pkg为例)
[admin@master ~]$ sudo salt 'proxy01*' sys.list_functions pkg
* 开启配置:
案例:运行admin用户执行service和pkg模块里面的所有方法
~~~
client_acl:
admin:
- service.*
- pkg.*
~~~
[admin@master ~]$ sudo systemctl restart salt-master
测试:
~~~
[admin@master ~]$ salt -I 'apache:httpd' pkg.install httpd
huancun03.51yuki.cn:
----------
httpd:
----------
new:
2.4.6-67.el7.centos.6
old:
httpd-tools:
----------
new:
2.4.6-67.el7.centos.6
old:
mailcap:
----------
new:
2.1.41-2.el7
old:
[admin@master ~]$ salt -I 'apache:httpd' cmd.run 'sudo systemctl restart httpd'
Failed to authenticate! This is most likely because this user is not permitted to execute commands, but there is a small possibility that a disk error occurred (check disk/inode usage).
[admin@master ~]$ salt -I 'apache:httpd' service.enable httpd
huancun03.51yuki.cn:
True
发现:刚刚设置的service和pkg模块可以使用,cmd模块不能用
~~~
* 报错总结
[WARNING ] Failed to open log file, do you have permission to write to /var/log/salt/master?
解决:chmod 777 /var/log/salt/master
chmod 755 /var/cache/salt /var/cache/salt/master /var/cache/salt/master/jobs /var/run/salt /var/run/salt/master
Salt request timed out. The master is not responding. If this error persists after verifying the master is up, worker_threads may need to be increased.
解决:这里是因为master的interface的地址不是0.0.0.0 导致的。改为0.0.0.0 重启服务就不报错了,这个好像是个bug
第二种:通过设置黑名单
~~~
#client_acl_blacklist:
# users:
# - root
# - '^(?!sudo_).*$' # all non sudo users
# modules:
# - cmd
client_acl_blacklist:
users:
- admin
modules:
- service.stop
- cmd
~~~
- 第一章:saltstack的基本介绍
- 第二章:saltstack的安装部署
- 第一节:在centos7系统上安装saltstack工具
- 第二节:在windows server 2008上安装salt-minion
- 第三章: saltstack的配置管理
- 第一节:salt-master配置
- 第二节:salt-minion配置
- 第三节:了解YAML
- 第四节:salt-master配置文件详解
- 第五节:了解Jinja2
- 第六节:配置普通用户可以运行saltstack的模块
- 第四章:远程执行
- 第一节:远程执行基础介绍
- 第二节:目标定位
- 一、全局及正则表达式匹配
- 二、列表匹配
- 三、Grains
- 四: Pillar
- 五:subnet and ip
- 六:组合匹配
- 七: node group
- 第三节:常用模块
- 一、查看帮助
- 二、Network模块
- 三、Service模块
- 四:State模块
- 五、Cron模块
- 六、File模块
- 七、iptables模块
- 八、pkg包管理
- 第四节:Salt其他命令
- 一、salt-cp(拷贝文件)
- 二、salt-ssh
- 三、salt-key
- 第五节:saltstack返回程序
- 第一节:返回保持到数据库(mysql)
- 第五章:配置管理
- 第一节:简单入门
- 第二节:状态间关系
- 第六章:数据系统
- 第一节:grains
- 第二节:pillar
- 第七章:saltstack配置管理
- 第一节:系统初始化操作
- 第二节:功能模块
- 一、haproxy模块
- 二、keepalived模块
- 三、nginx模块
- 四: pcre模块
- 五: zlib模块
- 六:user模块
- 七:php模块
- 第三节:业务模块
- 第一节:haproxy代理
- 第二节:keepalived业务
- 第八章:自动化管理工具saltstack
- 第一节:文件管理
- 第二节:软件管理
- 第三节:服务管理
- 第四节:sysctl模块管理