成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

聊聊 Kerberos 的 kinit 命令和 ccache 機制

網絡 通信技術
通過上述分析,我們知道,為解決問題,需要更改服務端的配置參數max_renewable_life,需要更改服務端上述兩個 principal 的 maxrenewlife,并確保客戶端指定 kinit -R 時 krbtgt 并沒有過期,才能確保任務執行成功。

1. 前言

大家好,最近遇到了個 kerberos 相關問題,“客戶端節點上執行 kinit -R 命令報錯:KDC can't fulfill requested option while renewing credentials”, 在次跟大家分享下問題的解決方式,和背后的相關知識點,主要涉及到 kerberos 的 kinit 命令和 ccache 機制。

2. 問題現象與問題日志

  • 問題現象: 客戶端執行命令 kinit -R 報錯: “KDC can't fulfill requested option while renewing credentials”;
  • 問題日志:查看 KDC 服務端日志/var/log/krb5kdc.log 可知,上述報錯對應的請求是 TGS_REQ,細節是 liming@TEST.COM for krbtgt/TEST.COM@TEST.COM,其錯誤原因是 ticket not renewable, 即 ticket 不可刷新;

3. 問題原因

那么 “ticket not renewable” 的原因又有哪些呢?主要有以下幾個:

  • 服務端配置文件 /var/kerberos/krb5kdc/kdc.conf 或 /etc/krb5.conf 中對應的 realms 段中沒有配置允許 renew ticket
  • 服務端生成 krbtgt 這個 principal 時,沒有配置參數 maxrenewlife,即沒有指定其 ticket 的最大可刷新時長
  • 服務端生成用戶的 principal 時,沒有配置參數 maxrenewlife,即沒有指定其 ticket 的 最大可刷新時長(如報錯日志中的 liming@TEST.COM)
  • 客戶端上次成功登陸后,獲得的 krbtgt 這個 service principal 的可刷新時間已過期,其過期原因是超過了服務端配置的 maxrenewlife(如報錯日志中的krbtgt/TEST.COM@TEST.COM)
  • 客戶端上次成功登陸后,用戶 principal 的 ticket 已過期,其過期原因是超過了服務端配置的 ticket_lifetime,該參數一般配置為 24 h(如報錯日志中的liming@TEST.COM)

4. 問題解決方案與操作步驟

通過上述分析,我們知道,為解決問題,需要更改服務端的配置參數max_renewable_life,需要更改服務端上述兩個 principal 的 maxrenewlife,并確保客戶端指定 kinit -R 時 krbtgt 并沒有過期,才能確保任務執行成功。

  • 服務端更改或確認配置文件/var/kerberos/krb5kdc/kdc.conf 或 /etc/krb5.conf 中,對應的 realms 段中需要配置參數允許刷新:max_renewable_life;
  • 服務端更過或確認上述兩個 principal 的參數 maxrenewlife,示例命令如下:

modprinc -maxrenewlife "1 week" +allow_renewable liming@TEST.COM

modprinc -maxrenewlife "1 week" +allow_renewable krbtgt/TEST.COM@TEST.COM

kadmin.local -q "getprinc krbtgt/TEST.COM@TEST.COM" | grep -i life

kadmin.local -q "getprinc liming@TEST.COM" | grep -i life

  • 上述配置修改或確認完畢后,還需要重新登錄以生成新的 ticket,后續的 kinit -R 命令才能成功執行
  • 同時可以看到,改動 principal 的參數 maxrenewlife 前,klist 不提示 renew until ...,而改動 principal 的參數 maxrenewlife后,klist 會提示 renew until ....,即在次日期之前可以使用 kinit -R 刷新 ticket

5. 背景知識: kinit 命令與 ccache 機制

  • 用戶在客戶端通過 kinit 成功登錄 kerberos 后,會將獲得的 ticket-granting ticket 緩存到客戶端的 ccache (credentail cache) 文件中
  • ccache 文件地址是通過配置文件 /etc/krb5.conf 中的參數 default_ccache_name來配置的,在 linux 操作系統中一般是配置為 FILE:/tmp/krb5cc_%{uid},實際對應文件 /tmp/krb5cc_0 等
  • "kinit -R" 命令,可以用來刷新 ticket-granting ticket,即 tgt
  • "kinit -R" 命令,只能在 ticket 沒有過期之前,且還在 krbtgt 可刷新時間之前,刷新 ticket
  • "kinit -R" 成功刷新 ticket 之后, 會更新 ccache (credentail cache) 文件,大家可以通過 ls -al 命令查看 linux 中該文件的 ctime 確認這一點
  • kinit 登錄,對應的是 AS_REQ,需要 KDC 中的 Authentication Server (AS) 校驗用戶身份,獲得的是krbtgt,對應 kerberos 日志中的:liming@TEST.COM for krbtgt/TEST.COM@TEST.COM
  • kinit 認證完畢后,后續使用受 kerberos 保護的服務,比如登錄 hiveserver2時,命令格式為:beeline -u "jdbc:hive2://uf30-2:10000/default;principal=hive/_HOST@TEST.COM", 此時在底層是一個 TGS_REQ,對應 kerberos 日志中的:liming@TEST.COM for hive/cdp2@TEST.COM
  • kinit -R 續期 tgt,對應的是 TGS_REQ, 需要 KDC 中的 Ticket Granting Server (TGS) 的響應,其效果是刷新了krbtgt,更新了 ccache 文件如 /tmp/krb5cc_0, 對應 kerberos 日志中的:liming@TEST.COM for krbtgt/TEST.COM@TEST.COM;

[root@uf30-1 ~]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: admin/admin@CDH.COM
Valid starting Expires Service principal
11/13/2020 13:08:27 11/14/2020 13:08:27 krbtgt/CDH.COM@CDH.COM
renew until 11/20/2020 13:08:27
[root@uf30-1 ~]# kinit -R
[root@uf30-1 ~]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: admin/admin@CDH.COM
Valid starting Expires Service principal
11/13/2020 19:38:15 11/14/2020 19:38:15 krbtgt/CDH.COM@CDH.COM
renew until 11/20/2020 13:08:27


責任編輯:武曉燕 來源: 明哥的IT隨筆
相關推薦

2023-02-24 16:46:25

Glide緩存機制

2021-12-11 19:00:54

Java中斷機制

2024-02-27 08:05:32

Flink分區機制數據傳輸

2021-09-26 05:06:04

Node.js模塊機制

2024-06-11 09:22:51

2023-09-27 07:33:48

Docker命令容器

2022-07-12 08:00:31

命令Kubernetes應用程序

2022-05-06 08:26:32

JavaSPI機制

2021-06-07 08:04:39

Restorecon命令安全

2022-03-03 09:20:08

分布式數據庫場景

2025-03-27 02:00:00

SPIJava接口

2021-12-30 22:50:32

KafkaConsumer 源碼

2023-11-06 08:00:38

接口高可用機制

2020-11-20 07:51:02

JavaSPI機制

2018-12-06 14:56:46

微服務隔離熔斷

2022-10-24 00:03:26

GolangNew函數

2021-08-10 11:45:57

topCPULinux

2021-05-31 15:53:57

CPU Top命令

2023-08-03 07:34:34

格式化字符串參數

2020-06-23 08:15:13

計算存儲分離
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产1区 | av在线免费观看网址 | av官网在线 | 欧美一区二区三区 | 日朝毛片| 亚洲视频免费在线观看 | 欧美自拍另类 | 巨大荫蒂视频欧美另类大 | 亚洲一区二区视频在线观看 | 亚洲精品成人 | 成人午夜电影在线观看 | 欧美情趣视频 | 欧美精品一区二区三区在线 | 午夜免费小视频 | 成人精品国产免费网站 | 国产一级一级国产 | 中文字幕动漫成人 | 韩国精品在线观看 | 亚洲伊人久久综合 | 国产小视频精品 | 亚洲精品18 | av一区二区三区四区 | 国产激情一区二区三区 | 999精品在线 | 精品国产亚洲一区二区三区大结局 | 超碰激情 | 中文字幕精品一区二区三区精品 | 一区二区不卡高清 | 四虎永久在线精品免费一区二 | 久操伊人 | 中文字幕欧美一区 | 91网站在线看 | 一区二区在线不卡 | 国产精品亚洲欧美日韩一区在线 | 亚洲一区 中文字幕 | 中文字幕av色 | a级黄色片视频 | 欧美黑人一区二区三区 | 一区二区三区精品 | 老司机67194精品线观看 | a在线免费观看视频 |