成人免费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機制

2021-08-10 11:45:57

topCPULinux

2022-10-24 00:03:26

GolangNew函數

2018-12-06 14:56:46

微服務隔離熔斷

2021-05-31 15:53:57

CPU Top命令

2023-08-03 07:34:34

格式化字符串參數

2022-04-11 07:50:58

top 命令Java 系統JVM 進程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲午夜精品 | 九九热最新地址 | 日韩中文字幕区 | 久久精品国产99国产 | 色婷综合网 | 欧美在线精品一区 | 成人精品鲁一区一区二区 | 美日韩精品 | 激情 亚洲 | 亚洲精品一级 | 亚洲高清在线 | 三级视频国产 | 中文字幕精品视频 | 国产精品免费一区二区三区四区 | 午夜精品一区二区三区在线观看 | 中文字幕一区二区三 | 国产亚洲日本精品 | 国产精品久久在线观看 | 夜夜久久 | 国产精品国产三级国产aⅴ无密码 | 91精品久久久久久久久中文字幕 | 波多野结衣一区二区三区 | 91久久| 精国产品一区二区三区四季综 | 国产精品视频区 | 国产精品毛片无码 | 亚洲午夜精品一区二区三区 | 亚洲成人av| 日本天天操 | 日韩欧美一级片 | 国产区在线视频 | 欧美 日韩 国产 成人 | h视频亚洲| 日韩精品 | 日韩在线精品 | 精品久久久久一区二区国产 | 日韩二区三区 | 一级毛片视频在线 | 91亚洲国产成人精品一区二三 | 亚洲精品一区二区在线 | www.一级毛片 |