1. 程式人生 > >CentOS6.5安裝Kerberos認證KDC服務

CentOS6.5安裝Kerberos認證KDC服務

一、 背景介紹

大資料平臺生產環境開啟了Kerberos認證,測試環境沒有開啟Kerberos認證,導致在開發離線變數計算平臺的時候沒法在測試環境除錯Kerberos認證相關的內容,只能在生產環境上去除錯,導致離線變數平臺1.0.1.1、1.0.2版本上線的時候由於除錯Kerberos的原因上線搞了很久。

在生產環境上除錯程式碼是非常不合理的,所以決定把測試環境Kerberos認證搭建起來,由於目前測試環境都在用著,目前大家對Kerberos認證服務都不太熟悉,怕直接在測試環境上裝Kerberos把測試環境叢集搞掛了,所以先在本地開發機器開個虛擬機器,安裝CentOS,在本地虛擬機器裡面實驗一下。

二、 實驗環境

  1. 作業系統:CentOS-6.5-x86_64-minimal
  2. 虛擬機器:VMware-workstation-full_12.5.5.17738

三、 安裝步驟

a)配置hosts&hostname

輸入命令:hostname檢視當前主機名

這裡寫圖片描述

配置hostname
編輯network檔案修改HOSTNAME配置項為master.msxf.hadoop,重啟伺服器,hostname修改生效。

這裡寫圖片描述

配置hosts
編輯hosts檔案,新增一行“192.168.86.129 master.msxf.hadoop”使通過主機名可以直接訪問到對應的伺服器。

這裡寫圖片描述

重啟伺服器
輸入命令reboot重啟伺服器,使配置生效。
驗證配置是否生效

這裡寫圖片描述

b) 安裝kerberos

安裝Kerberos認證KDC服務端
yum install krb5-libs krb5-server krb5-workstation
遇到是/否一律選擇是

這裡寫圖片描述

等待安裝完成,開始進行配置,首先配置/etc/krb5.conf檔案,其中特別要配置的為default_realm,這裡為自定義的一個領域(可以理解為域名),注意一定要大寫如MSXF.HADOOP,下面花括號外面值和default-realm一樣。話括號裡為配置kdc和admin的主機名,這裡配置為同一臺主機即當前主機名,如果kdc有多臺的話,也可以配置多個kdc=xxx

這裡寫圖片描述

配置/var/kerberos/krb5kdc/kdc.conf和/var/kerberos/krb5kdc/kadm5.acl檔案,其中kadm5.acl表示kadmin管理帳號為*/[email protected]_EALM的,即所有帶/admin都為可以是管理帳號。
配置kdc.conf
/var/kerberos/krb5kdc/kdc.conf

這裡寫圖片描述

配置kadm5.acl

/var/kerberos/krb5kdc/kadm5.acl

這裡寫圖片描述

建立kerberos資料庫
首先建立前看到/var/kerberos/krb5kdc/僅用兩個檔案

這裡寫圖片描述

建立資料庫,使用命令kdb5_util create -r your_realm -s,注意,在Loading random data這裡的時候可能會要比較久的時間。這裡會要求輸入資料庫祕密,這個祕密非常重要一定要記好。

kdb5_util create -r MSXF.HADOOP -s

這裡寫圖片描述

建立完畢後,在檢視/var/kerberos/krb5kdc/下面發現已經多了幾個principal相關的檔案,其實這些就是kerberos的資料檔案。而如果把這個檔案刪除就相當於把資料庫刪除需要重建,可以把這些檔案mv走然後kadmin.local試試,應該是會報錯的,然後再把這些檔案mv回來,又可以了。

這裡寫圖片描述

建立管理員並輸入密碼(帳號admin/admin(一定要帶xxx/admin)密碼一定要記住)。

/usr/sbin/kadmin.local -q "addprinc admin/admin"

這裡寫圖片描述

設定kadmin和krb5kdc服務開機啟動(一個kdc的服務一個kadmin管理服務)

chkconfig krb5kdc on
chkconfig kadmin on
/etc/init.d/krb5kdc start
/etc/init.d/kadmin start

這裡寫圖片描述

這裡寫圖片描述

驗證通過admin登入
登入的時候需要輸入建立admin賬號的時候設定的祕密。

kinit admin/admin

這裡寫圖片描述

新增一個test帳號並且檢視是否進入資料庫(通過kadmin.local 然後listprincs檢視)

kadmin.local
addprinc test/master
addprinc hdfs/master.msxf.hadoop
listprincs

這裡寫圖片描述

以上已經安裝成功,接下來將在cdh hadoop叢集上開啟kerberos管理。


原文:http://www.itclj.com/blog/5a7dbeae81c06e695320efd1