salt扩展认证PAM篇

salt.states.external_auth

概述

salt 扩展认证 PAM,能够利用PAM 认证机制对系统帐户作出功能操做上的限制html

  1. 认证用户不容许使用root
  2. 能够限制认证用户可以使用的功能模块
  3. 能够限定认证用户可管理的主机

官方文档:http://docs.saltstack.com/topics/eauth/index.htmlubuntu

开启PAM认证

编辑 /etc/salt/masterthis

<pre> external_auth: pam: salt: - '*' </pre>code

建立 salt 用户 设置密码htm

验证

salt PAM 认证用户 只能经过 “ -a pam ” 参数才能使用文档

<pre> salt -a pam test.ping </pre>get

会提示登录用户,输入密码,若是正确返回结果,说明pam认证已经生效it

实例 :

/etc/salt/masterio

external_auth:
  pam:
    admin:
      - '*'                        # 全部模块                  
    salt:
      - test.ping                  # test.ping 模块 
    test:
      - 'dev*':                   # 主机配置规则 
        - test.ping                # Salt 模块

解释:ast

  • admin 用户可管理全部主机,使用全部salt功能模块
  • salt 用户可管理全部主机,仅能使用test.ping模块
  • test 用户只能管理部分主机,仅能使用test.ping模块

实例1: 以salt用户为例,认证用户必须打开PAM 参数才能操做

  • 失败操做:

<pre> salt@fabrizio-vaio:~$ salt '*' test.ping Failed to authenticate, is this user permitted to execute commands? </pre>

  • 成功操做:

<pre> salt@fabrizio-vaio:~$ salt -a pam '*' test.ping username: salt password: ubuntu-master: True </pre>

实例2: 以salt用户为例,执行未受权模块被拒绝

<pre> salt@fabrizio-vaio:~$ salt -a pam '*' state.highstate username: salt password: Failed to authenticate, is this user permitted to execute commands? </pre>

实例3: 以test用户为例,操做未受权主机被拒绝 失败操做

<pre> salt@fabrizio-vaio:~$ salt -a pam '*' test username: test password: Failed to authenticate, is this user permitted to execute commands? </pre>

成功操做

<pre> salt@fabrizio-vaio:~$ salt -a pam 'test-001' test username: test password: test-001: True </pre>

相关文章
相关标签/搜索