HBase Kerberos 配置示例(一)

2021-09-06 23:09:36 字數 2826 閱讀 3138

這裡我準備了三颱server,各自安裝上centos 6.5 64bit

kerberos簡單來說就是一套完全控制機制,它有乙個中心伺服器(kdc),kdc中有資料庫,你可以往裡新增各種「人」以及各種「服務」的「身份證」,當某個人要訪問某個服務時,他拿著自己的「身份證」聯絡kdc並告訴kdc他想要訪問的服務,kdc經過一系列驗證步驟,最終依據驗證結果允許/拒絕這個人訪問此服務。關於kerberos具體的工作流程,參見文章《explain like i』m 5: kerberos》

安裝

#yum install krb5-libs krb5-server krb5-workstation

配置

1)#vim /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 =mh.com

dns_lookup_realm = false

dns_lookup_kdc = false

ticket_lifetime =24h

renew_lifetime =7d

forwardable = true

[realms]

mh.com =

[domain_realm]

.mh.com =mh.com

mh.com = mh.com

view code

2)#vim /var/kerberos/krb5kdc/kdc.conf

[kdcdefaults]

kdc_ports = 88

kdc_tcp_ports = 88

[realms]

mh.com =

view code

kerberos中的realm,即kerberos的域,類似於計算機網路中"domain"的概念。

3)#vim /var/kerberos/krb5kdc/kadm5.acl

這個檔案是用來控制哪些人可以使用kadmin工具來管理kerberos資料庫,我這裡就配了一行:

*/[email protected] *

其中前乙個*號是萬用字元,表示像名為「abc/admin」或「***/admin」的人都可以使用此工具(遠端或本地)管理kerberos資料庫,後乙個*跟許可權有關,*表示所有許可權,還可以進行更細的控制,參見acl。

4)#kdb5_util create -s

初始化乙個kerberos資料庫。

5)現在資料庫是空的,想要使用kadmin新增乙個人到資料庫中,這是需要許可權的,那麼最開始的那乙個人是怎麼加到資料庫中的?這就需要kadmin.local這個工具,這個工具只能在kerberos server上執行(類似於oracle中的sys使用者無密碼登入)。

#kadmin.local -q "addprinc admin/admin"

我這裡把管理員叫「admin/admin」,你可以叫任何名字,但是因為此前我們在kadm5.acl中的配置,名字必須以/admin結尾。過程中會提示你輸入兩次密碼,記住這個密碼,當你在別的機器連線kadmin時,需要這個密碼。

啟動

驗證

如果kinit不帶引數,則會預設以當前作業系統使用者名稱,比如root,作為名稱。因為root在kerberos的資料庫中並沒有,所以會提示失敗

正常應該顯示:

ticket cache: file:/tmp/krb5cc_0

default principal: admin/[email protected]

valid starting     expires            service principal

04/10/15 13:03:36  04/11/15 13:03:36  krbtgt/[email protected]

renew until 04/10/15 13:03:36

以下這兩個應該不是必須的,與相容性有關,ktadd命令會把「身份證」寫入到檔案(.keytab字尾),可以指定keytab檔案,如不指定,預設寫入/etc/krb5.keytab

其它一些命令

一般在例項使用中通過kinit的方式較少,因為每次都要輸入密碼,所以更經常使用的是keytab檔案,相當於為某個人或服務生成乙個密碼,並放在檔案中,程式中則指向這個keytab,不用每次都輸入密碼。

現在,我們到kbhbase1這台機器上,即我們的kerberos 客戶端上。kerberos對伺服器跟客戶端之間的時間有要求,所以一般需要安裝ntp來作時間同步,我這裡直接手工同步了一下,就不再介紹ntp了。 #yum install krb5-libs krb5-workstation 注意與kerberos server上的yum命令對比。安裝完成後把server上的krb5.conf檔案拷貝過來覆蓋一下即可。注意:

與在server上類似,使用kinit和klist檢視一下。也可以嘗試執行kadmin,按提示使用admin/admin並輸入密碼(你之前建立管理員時輸入的密碼),正常應該能夠連線上伺服器,並對資料庫進行操作(比如新增或刪除人、服務)。

linux配置 網路配置

ip位址,子網掩碼,閘道器 設定ip位址,子網掩碼並啟用 ifconfig eth0 10.192.77.250 netmask 255.255.255.0 up 注 ip,掩碼,閘道器都設定到 etc sysconfig network scripts ifcfg eth0裡面了。設定多ip 可以...

elementui配置 element配置

vue elementui 配置 第一步 安裝elementui node命令 npm i element ui s 第二步 在man.js中配置 import elementui from element ui import element ui lib theme chalk index.css...

Thinkphp 配置 讀取配置

無論何種配置檔案,定義了配置檔案之後,都統一使用系統提供的c方法 可以借助config單詞來幫助記憶 來讀取已有的配置。用法 c 引數名稱 例如,讀取當前的url模式配置引數 model c url model 由於配置引數不區分大小寫,因此下面的寫法是等效的 model c url model 但...