1、安装软件包

安装必须的工具 bison, make, binutils

下载压缩包至/usr/local目录下,并解压

[root@localhost local]# ls krb5-1.14.tar.gz

krb5-1.14.tar.gz

2、编译Kerberos

切换目录至/krb5-1.14/src

在/krb5-1.14/src文件夹下,

运行configure命令

[root@localhost src]# ./configure --prefix=/usr/local/krb5-1.14

执行make命令

[root@localhost src]# make

执行make install

[root@localhost src]# make install

3、IP及域名配置 /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

#::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

127.0.0.1   kerberos.example.com   kerberos  ldap.example.com

4、配置KDC

a、配置krb5.conf 

文件说明:(略)

参数说明:(略)

[root@localhost src]# vi /etc/krb5.conf

[logging]

default = FILE:/var/log/krb5libs.log

kdc = FILE:/var/log/krb5kdc.log

admin_server = FILE:/var/log/kadmind.log

[libdefaults]

default_realm = EXAMPLE.COM

dns_lookup_realm = true

dns_lookup_kdc = true

ticket_lifetime = 24h

renew_lifetime = 7d

forwardable = true

[realms]

EXAMPLE.COM = {

kdc = kerberos

admin_server = kerberos

}

[domain_realm]

.example.com = EXAMPLE.COM

example.com = EXAMPLE.COM

[kdc]

profile = /usr/local/krb5-1.14/var/krb5kdc/kdc.conf

b、在krb5.conf文件制定位置,创建kdc.conf

[root@localhost krb5kdc]# pwd

/usr/local/krb5-1.14/var/krb5kdc

[root@localhost krb5kdc]# vi kdc.conf

文件说明:(略)

参数说明:(略)

[kdcdefaults]

kdc_ports = 88

[realms]

EXAMPLE.COM = {

profile = /etc/krb5.conf

database_name = /usr/local/krb5-1.14/var/krb5kdc/principal

admin_database_name = /usr/local/krb5-1.14/var/krb5kdc/kadm5_adb

admin_database_lockfile = /usr/local/krb5-1.14/var/krb5kdc/kadm5_adb.lock

admin_keytab = FILE:/usr/local/krb5-1.14/var/krb5kdc/kadm5.keytab

acl_file = /usr/local/krb5-1.14/var/krb5kdc/kadm5.acl

key_stash_file = /usr/local/krb5-1.14/var/krb5kdc/.k5stash

kdc_ports = 88

kadmind_port = 749

max_life = 10h 0m 0s

max_renewable_life = 7d 0h 0m 0s

master_key_type = des-cbc-crc

supported_enctypes = des-cbc-crc:normal des:v4

}

创建Kerberos的本地数据库

[root@localhost sbin]# ./kdb5_util create -r EXAMPLE.COM -s

Loading random data

Initializing database '/usr/local/krb5-1.14/var/krb5kdc/principal' for realm 'EXAMPLE.COM',

master key name 'K/M@EXAMPLE.COM'

You will be prompted for the database Master Password.

It is important that you NOT FORGET this password.

Enter KDC database master key:

Re-enter KDC database master key to verify:

登录查看kerberos缺省票据

[root@localhost sbin]# ./kadmin.local

Authenticating as principal admin/admin@EXAMPLE.COM with password.

kadmin.local:  listprincs

K/M@EXAMPLE.COM

kadmin/admin@EXAMPLE.COM

kadmin/changepw@EXAMPLE.COM

kadmin/localhost@EXAMPLE.COM

kiprop/localhost@EXAMPLE.COM

krbtgt/EXAMPLE.COM@EXAMPLE.COM

kadmin.local:  q

启动kdc服务

[root@localhost sbin]# ./krb5kdc

5、kadmind配置

5.1本地kadmin.local管理程序提供功能

a、策略管理

策略的增加、删除、修改、查询和统计功能;

add_policy, addpol       Add policy

modify_policy, modpol    Modify policy

delete_policy, delpol    Delete policy

get_policy, getpol       Get policy

list_policies, listpols, get_policies, getpols  List policies

b、个人账号管理

Principal的增加、删除、修改、查询和统计功能;

add_principal, addprinc, ank

Add principal

delete_principal, delprinc

Delete principal

modify_principal, modprinc

Modify principal

change_password, cpw     Change password

get_principal, getprinc  Get principal

list_principals, listprincs, get_principals, getprincs                          List principals

get_privs, getprivs      Get privileges

c、程序注册kt管理

Keytable的增加、删除;

ktadd, xst               Add entry(s) to a keytab

ktremove, ktrem          Remove entry(s) from a keytab

d、锁管理

lock                     Lock database exclusively (use with extreme caution!) unlock                   Release exclusive database lock

e、程序功能

程序命令帮助和退出程序。

list_requests, lr, ?     List available requests. quit, exit, q            Exit program.

5.2使用kadmin.local管理程序配置

a、增加管理员账号

[root@localhost sbin]# ./kadmin.local

kadmin.local:  addprinc admin/admin

WARNING: no policy specified for admin/admin@EXAMPLE.COM; defaulting to no policy

Enter password for principal "admin/admin@EXAMPLE.COM": admin

Re-enter password for principal "admin/admin@EXAMPLE.COM": admin

Principal "admin/admin@EXAMPLE.COM" created.

kadmin.local:  listprincs

K/M@EXAMPLE.COM

admin/admin@EXAMPLE.COM

kadmin/admin@EXAMPLE.COM

kadmin/changepw@EXAMPLE.COM

kadmin/localhost@EXAMPLE.COM

kiprop/localhost@EXAMPLE.COM

krbtgt/EXAMPLE.COM@EXAMPLE.COM

kadmin.local:

b、测试管理员账号

[root@localhost bin]# ./kinit admin/admin

Password for admin/admin@EXAMPLE.COM: admin

[root@localhost bin]# ./klist

Ticket cache: FILE:/tmp/krb5cc_0

Default principal: admin/admin@EXAMPLE.COM

Valid starting       Expires              Service principal

2016-01-12T14:34:33  2016-01-13T00:34:33  krbtgt/EXAMPLE.COM@EXAMPLE.COM

renew until 2016-01-19T14:34:33

c、为管理员admin/admin指定权限

注:按网上和官方说明kdc.conf中配置 acl_file = /krb5-1.14/var/krb5kdc/kadm5.acl的文件

暂时不知道该文件在哪个步骤生成的

在我以上操作中并没有生成 kadm5.acl文件,于是手动创建,并添加权限

现在为管理账号指定权限,它由文件/usr/local/var/krb5kdc/kadm5.acl中的条目决定。

给账号admin /admin授予“管理所有委托人”的权限,

通过添加下面这样一行到/usr/local/var/krb5kdc/kadm5.acl中,并使用通配符实现:

admin/admin@EXAMPLE.COM  *

5.3远程的kadmin管理程序配置


a、创建一个包含秘钥的keytab文件

kadmin.local:  ktadd -k /usr/local/krb5-1.14/var/krb5kdc/kadm5.keytab kadmin/changepw

Entry for principal kadmin/changepw with kvno 2, encryption type des-cbc-crc added to keytab WRFILE:/usr/local/krb5-1.14/var/krb5kdc/kadm5.keytab.

b、启动kadmind服务

[root@localhost sbin]# pwd

/usr/local/krb5-1.14/sbin

[root@localhost sbin]# ./kadmind

[root@localhost sbin]# ps -ef | grep kadmind

root     17176     1  0 15:24 ?        00:00:00 ./kadmind

本文转自巧克力黒 51CTO博客,原文链接:http://blog.51cto.com/10120275/1734988,如需转载请自行联系原作者


【总结】Centos中,Kerberos安装的更多相关文章

  1. <亲测>CentOS中yum安装ffmpeg

    CentOS中yum安装ffmpeg 1.升级系统 sudo yum install epel-release -y sudo yum update -y sudo shutdown -r now 2 ...

  2. 在Centos中yum安装和卸载软件的使用方法(转)

    在Centos中yum安装和卸载软件的使用方法 安装方法 安装一个软件时 yum -y install httpd 安装多个相类似的软件时 yum -y install httpd* 安装多个非类似软 ...

  3. centos中简易安装docker

    centos中简易安装docker准备环境要求:请确保自己的centos的内核版本大于3.10,使用如下linux命令: uname -r1显示如下类似信息: 3.10.0-862.3.3.el7.x ...

  4. 在Centos中yum安装和卸载软件的使用方法(转载)

    转自: http://gzmaster.blog.51cto.com/299556/72278 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任. ...

  5. CentOS中如何安装7ZIP

    7-zip以高压缩率著称,并且是一款免费开源的压缩软件.在常规的Linux发行版中,无法通过简单的yum命令来安装该软件.那么在CentOS中,如何安装7ZIP呢?有以下3种方法: 第一种,源码编译安 ...

  6. CentOS 中 YUM 安装桌面环境

    CentOS 作为服务器的操作系统是很常见的,但是因为需要稳定而没有很时髦的更新,所以很少做为桌面环境.在服务器上通常不需要安装桌面环境,最小化地安装 CentOS(也就是 minimal CentO ...

  7. 在CentOS中快速安装PHP,MySQL,Nginx和phpMyAdmin

    安装环境 yum install -y autoconf automake gcc gcc-c++ git libtool make nasm pkgconfig zlib-devel vim 安装p ...

  8. CentOS中yum安装软件时报错:No package XXX available

    yum 安装软件时,报错:No package XXX available. [root@localhost ~]# yum -y install redis Loaded plugins: fast ...

  9. 在 CentOS 中编译安装 VIM 7.3

    转载:http://blog.csdn.net/zhanglyung/article/details/6204574 默认安装的 Vim 不带有多字符支持,所以不支持中文.无论是将 CentOS 本来 ...

  10. 在CentOS中编译安装VIM 7.3

    默认安装的 Vim 不带有多字符支持,所以不支持中文.无论是将 CentOS 本来的语系改为中文还是将 Vim 的语系设置改为中文,都不能正常显示中文.为了在 Vim 中能够正常处理中文,我们需要在编 ...

随机推荐

  1. pm2 开机启动egg项目

    1.在服务器上安装PM2 npm install pm2 -g 2.对PM2进行更新 pm2 update 3.进入服务器中egg项目更目录,并新建server.js文件,并在其中写入以下代码 con ...

  2. 谈谈CSS3中display属性的Flex布局(弹性布局)

    最近为了微信小程序,回忆起之前有接触过的弹性布局(display:Flex) 网上摘录的原文地址:https://www.cnblogs.com/xuyuntao/articles/6391728.h ...

  3. docker-compose错误

    1.错误信息: ERROR: for gamehall Get https://hub.tondeen.com/v1/_ping: http: server gave HTTP response to ...

  4. Java第三十四天,IO操作(续集),非基本对象的读写——序列化流

    一.序列化与反序列化 以前在对文件的操作过程当中,读写的对象都是最基本的数据类型,即非引用数据类型.那么如果我们对饮用数据类型(即对象类型)数据进行读写时,应该如何做呢?这就用到了序列化与反序列化. ...

  5. 搭建环境-git常见使用总结

    Descripton:git 一.Git安装和本地用户全局配置 官网下载并且安装 查看是否安装成功win + R输入git,出现git命令指南,则安装成功 全局配置本地用户,在git Bash中进行下 ...

  6. 【学习笔记】Iperf3网络性能测试工具

    [学习笔记]Iperf3网络性能测试工具 网络性能评估主要是监测网络带宽的使用率,将网络带宽利用最大化是保证网络性能的基础,但是由于网络设计不合理.网络存在安全漏洞等原因,都会导致网络带宽利用率不高. ...

  7. 自己实现一个 DFA 串模式识别器

    自己实现一个 DFA 串模式识别器 前言 这是我编译原理课程的实验.希望读完这篇文章的人即便不知道 NFA,DFA 和正规表达式是什么,也能够对它们有一个简单的理解,并能自己去实现一个能够识别特定模式 ...

  8. 【Android】EventReminder使用教程(日历事件导出封装库)

    碎碎念 为啥要写这个库呢? 尝试自己写一个库调用,学习一下这个流程,为以后做准备 日历库在网上的资料太少了,而这个功能却又很实用 自己做的项目都会涉及到事件导出功能,不想重复写代码 使用方法 引入 在 ...

  9. 反射----获取class对象的五种方法

    反射Reflection 配合注解使用会格外强大,反射注解,天生一对 类如何加载? 动态语言和静态语言.我知道是什么,不用总结了. 由于反射,Java可以称为准动态语言. 允许通过反射获得类的全部信息 ...

  10. svg 实践之屏幕坐标与svg元素坐标转换

    近期在做svg相关项目,很好用的东西要记下来: 1.基础知识就是根据 矩阵进行坐标转换,如下: : 屏幕坐标 = 矩阵* svg对象坐标 2.javascript有个方法用于获取 svg对象 的转换矩 ...