Lework Study hard, improve every day.

Ansible Role 认证 之【kerberos-server】

2017-05-20
本文 1465 字,阅读全文约需 5 分钟

Ansible Role: kerberos server

安装kerberos server服务

介绍

Kerberos:网络认证协议 (Kerberos: Network Authentication Protocol)

Kerberos 是一种网络认证协议,其设计目标是通过密钥系统为客户机/ 服务器应用程序提供强大的认证服务。该认证过程的实现不依赖于主机操作系统的认证,无需基于主机地址的信任,不要求网络上所有主机的物理安全,并假定网络上传送的数据包可以被任意地读取、修改和插入数据。在以上情况下, Kerberos 作为一种可信任的第三方认证服务,是通过传统的密码技术(如:共享密钥)执行认证服务的。

  • 官方地址:http://web.mit.edu/kerberos/
  • 官方文档地址:http://web.mit.edu/~kerberos/krb5-devel/doc/index.html

要求

此角色仅在RHEL及其衍生产品上运行。

测试环境

  • ansible 2.3.0.0
  • os Centos 6.7 X64
  • python 2.6.6

角色变量

kerberos_realm_name: EXAMPLE.COM                           # Kerberos realms
kerberos_kdc_port: 88                                      # kdc监听的端口
kerberos_master_db_pass: 123456                            # kerberos 数据库的密码
kerberos_kadmin_pass: 123456                               # kerberos admin用户的密码
kerberos_kadmin_user: root                                 # kerberos admin用户名
kerberos_users: []										   # 要添加的 kerberos 用户信息
# kerberos_users: [{user: 'user1', pass: 'pass1'},]

ansible_python_interpreter: /usr/bin/python2.6

依赖

None

github地址

https://github.com/lework/Ansible-roles/tree/master/kerberos-server

Example Playbook

- hosts: node1
  vars:
   kerberos_realm_name: "KERBEROSTEST.COM"
   kerberos_kadmin_user: "root"
   kerberos_kadmin_pass: "foobar"
   kerberos_users:
	 - { user: 'user1', pass: 'pass1'}
   
  roles:
   - kerberos-server

端口

krb5kdc:88

kadmind:749 464

使用

登录kdc admin server kadmin.local

在管理员状态下使用增删改查

addprinc 增加用户 delprinc 删除用户 modprinc 修改用户 listprincs 查看用户

生成keytab kadmin:xst -k /xxx/xxx/kerberos.keytab hdfs/hadoop

查看当前的认证用户 klist

认证用户 kinit -kt /xx/xx/kerberos.keytab hdfs/hadoop1

删除当前的认证缓存 kdestory

更新ticket kinit -R

修改renewlife modprinc -maxrenewlife 1week krbtgt/HADOOP.COM@HADOOP.COM

原文地址 https://lework.github.io/2017/05/20/Ansible-Role-ren-zheng-zhi-kerberos-server/

Comments

Content