kinit(1)

名称kinit - 获取和缓存 Kerberos 票证授予票证 (ticket-granting ticket)

用法概要

/usr/bin/kinit [-ARvV] [-p | -P] [-f | -F] [-a] [-c cache_name]

[-C] [-E] [-k [-t keytab_file]] [-l lifetime]

[-r renewable_life] [-s start_time] [-n] [-S service_name]

[-X attribute[=value]] [-T armor_ccache] [principal]

描述

kinit 命令用于获取和缓存 principal 的初始票证授予票证(凭证)。此票证用于 Kerberos 系统进行验证。只有拥有 Kerberos 主体的用户才可以使用 Kerberos 系统。有关 Kerberos 主体的信息,请参见 kerberos(5)。

当使用 kinit 而未指定选项时,实用程序将提示您输入 principal 和 Kerberos 口令,并尝试使用本地 Kerberos 服务器验证您的登录。如果需要,可以在命令行上指定 principal。

如果登录尝试通过了 Kerberos 的验证,kinit 将检索您的初始票证授予票证并将其放到票证高速缓存中。缺省情况下,票证存储在 /tmp/krb5cc_uid 文件中,其中 uid 表示用户标识号。票证将在指定的生命周期后过期,之后必须再次运行 kinit。高速缓存中的任何现有内容都将被 kinit 销毁。

对于 lifetime 和 renewable_life,在命令行中指定的值将覆盖在 Kerberos 配置文件中指定的值。

kdestroy(1) 命令可用于在结束登录会话之前销毁任何活动票证。

选项

支持以下选项:

–a

请求具有本地地址的票证。

–A

请求无地址的票证。

–c cache_name

使用 cache_name 作为凭证(票证)高速缓存名称和位置。如果未使用此选项,将使用缺省高速缓存名称和位置。

–C

请求标准化主体名称。

–E

将主体名称视为企业名称。

–f

请求可转发票证。

–F

不可转发。请求不可转发票证。

在一个主机上获取的票证通常不可在其他主机上使用。客户机可以请求将票证标记为可转发。在票证上设置 TKT_FLG_FORWARDABLE 标志后,用户可以使用此票证来请求具有其他 IP 地址的新票证。这样,用户可以使用当前凭证来获取在其他计算机上有效的凭证。此选项允许用户显式获取不可转发票证。

–k [–t keytab_file]

请求从本地主机的 keytab 文件中的密钥获取主机票证。可使用 –t keytab_file 选项来指定 keytab 文件的名称和位置。否则,将使用缺省名称和位置。

–l lifetime

请求生命周期为 lifetime 的票证。如果不指定 –l 选项,将使用缺省票证生命周期(由各个站点配置)。如果指定的生命周期大于最大票证生命周期(由各个站点配置),则会将票证的生命周期设置为最大生命周期。有关可以为 lifetime 指定的有效持续时间格式,请参见“时间格式”部分。有关 getprinc 命令如何验证服务器主体的生命周期值,请参见 kdc.conf(4) 和 kadmin(1M)。

返回的票证生命周期是下列值中的最小值:

在命令行上指定的值。

在 KDC 配置文件中指定的值。

在 Kerberos 数据库中为服务器主体指定的值。对 kinit 而言,该值是 krbtgt/realm name。

在 Kerberos 数据库中为用户主体指定的值。

–n

请求匿名处理。

支持两种匿名主体类型。对于完全匿名 Kerberos,需要在 KDC 上配置 pkinit 并在客户机的 krb5.conf 中配置 pkinit_anchors。然后使用 –n 选项并以 @REALM 形式(空主体名称后跟有 @ 符号和领域名称)指定主体。如果 KDC 允许,将返回匿名票证。

此外还支持另一种形式的匿名票证。这类公开领域的票证隐藏客户机身份但不隐藏客户机领域。对于此模式,请使用 kinit -n 并以常规形式指定主体名称。如果 KDC 支持,将用匿名主体替换主体(但不替换领域)。自发行版 1.8 起,MIT Kerberos KDC 仅支持完全匿名操作。

–p

请求可代理票证。

–P

不可代理。请求不可代理票证。

可代理票证是这样一种票证:它允许您为服务获取一个 IP 地址与票证授权票证的 IP 地址不同的票证。此选项允许用户显式获取不可代理票证。

–r renewable_life

请求总生命周期为 renewable_life 的可更新票证。有关可以为 renewable_life 指定的有效持续时间格式,请参见“时间格式”部分。有关 getprinc 命令如何验证服务器主体的生命周期值,请参见 kdc.conf(4) 和 kadmin(1M)。

为票证返回的可更新生命周期是下列值中的最小值:

在命令行上指定的值。

在 KDC 配置文件中指定的值。

在 Kerberos 数据库中为服务器主体指定的值。对 kinit 而言,该值是 krbtgt/realm name。

在 Kerberos 数据库中为用户主体指定的值。

–R

请求更新票证授予票证。请注意,过期票证即使仍在可更新生命周期内也无法更新。

–s start_time

请求以后生效的票证,该票证从 start_time 开始生效。以后生效的票证是在设有 invalid 标志的情况下发出的,并且在使用前需要馈送回 KDC。有关可以为 start_time 设置的有效绝对时间或持续时间格式,请参见“时间格式”部分。kinit 首先尝试匹配绝对时间,然后再尝试匹配持续时间。

–S service_name

指定在获取初始票证时使用的备用服务名。

–T armor_ccache

如果 KDC 支持,指定已包含票证的凭证高速缓存 (ccache) 的名称。此 ccache 用于封装请求,这样攻击者必须同时拥有封装票证的密钥和用于验证的主体的密钥才能攻击请求。

封装还可以确保来自 KDC 的响应在传输过程中不会被修改。

–v

请求将高速缓存中的票证授权票证(设置了 invalid 标志)传递到 KDC 进行验证。如果票证处于其请求的时间范围内,将使用通过验证的票证来替换高速缓存中的内容。

–V

详细输出。向用户显示更多信息,例如确认验证和版本。

–X attribute[=value]

指定要传递给预验证插件的预验证属性和值。可接受的 attribute 和 value 值因预验证插件而异。可以多次指定此选项以指定多个属性。如果未指定值,则假定为 yes。

OpenSSL pkinit 预验证机制可识别下列属性:

X509_user_identity=URI

指定到何处查找用户的 X509 身份信息。

有效的 URI 类型为 FILE、DIR、PKCS11、PKCS12 和 ENV。有关详细信息,请参见“PKINIT URI 类型”部分。

X509_anchors=URI

指定到何处查找可信 X509 锚信息。

有效的 URI 类型为 FILE 和 DIR。有关详细信息,请参见“PKINIT URI 类型”部分。

flag_RSA_PROTOCOL[=yes]

指定使用 RSA 而不是缺省的 Diffie-Hellman 协议。

PKINIT URI 类型

FILE:file-name[,key-file-name]

此选项的行为特定于上下文。

X509_user_identity

file-name 指定包含用户证书的 PEM 格式文件的名称。如果未指定 key-file-name,则认为用户的私钥也在 file-name 中。否则,将使用 key-file-name 作为包含私钥的文件的名称。

X509_anchors

file-name 被认为是 OpenSSL 式 ca-bundle 文件的名称。ca-bundle 文件应采用 base-64 编码。

DIR:directory-name

此选项的行为特定于上下文。

X509_user_identity

directory-name 指定包含名为 *.crt 和 *.key 的文件的目录,其中文件名的第一部分是相同的,以便成对匹配证书和私钥文件。如果找到文件名以 .crt 结尾的文件,则假定以 .key 结尾的匹配文件中包含私钥。如果找不到这类文件,则不使用 .crt 文件中的证书。

X509_anchors

directory-name 被认为是 OpenSSL 式散列 CA 目录,其中每个 CA 证书都存储在一个名为 hash-of-ca-cert.# 的文件中。建议使用此基础结构,但这样会检查目录中的所有文件,如果其中包含证书(PEM 格式),则使用相应的文件。

PKCS12:pkcs12-file-name

pkcs12-file-name 是包含用户证书和私钥的 PKCS #12 格式文件的名称。

PKCS11:[slotid=slot-id][:token=token-label][:certid=cert-id][:certlabel=cert-label]

所有关键字和值都是可选的。PKCS11 模块(例如 opensc-pkcs11.so)必须安装为 libpkcs11(3LIB) 下的加密提供程序。可以指定 slotid= 和/或 token= 以强制使用特定智能卡读取器或令牌(如果有多个可用)。可以指定 certid= 和/或 certlabel= 以强制选择设备上的特定证书。有关选择特定证书供 pkinit 使用的更多方法,请参见 pkinit_cert_match 配置选项。

ENV:environment-variable-name

environment-variable-name 指定环境变量的名称,其值已设置为与以前的某个值相符合。例如 ENV:X509_PROXY,其中环境变量 X509_PROXY 已设置为 FILE:/tmp/my_proxy.pem。

时间格式

下列绝对时间格式可用于 –s start_time 选项。这些示例中的日期和时间为 1999 年 7 月 2 日 1:35:30 p.m。

绝对时间格式

示例

yymmddhhmm[ss]

990702133530

hhmm[ss]

133530

yy.mm.dd.hh.mm.ss

99:07:02:13:35:30

hh:mm[:ss]

13:35:30

ldate:ltime

07-07-99:13:35:30

dd-month-yyyy:hh:mm[:ss]

02-july-1999:13:35:30

Variable

变量

说明

dd

hh

时(24 小时制)

mm

ss

yy

一个世纪内的年份(0-68 表示 2000 至 2068;69-99 表示 1969 至 1999)

yyyy

年份(包括世纪)

month

语言环境的月份名称的全称或缩写。

ldate

语言环境的相应日期表示形式

ltime

语言环境的相应时间表示形式

下列持续时间格式可用于 –l lifetime、–r renewable_life 和 –s start_time 选项。这些示例中的持续时间为 14 天 7 小时 5 分 30 秒。

持续时间格式

示例

#d

14d

#h

7h

#m

5m

#s

30s

#d#h#m#s

14d7h5m30s

#h#m[#s]

7h5m30s

days-hh:mm:ss

14-07:05:30

hours:mm[:ss]

7:05:30分隔符

说明

d

天数

h

小时数

m

分钟数

s

秒数变量

说明

#

数字

days

天数

hours

小时数

hh

时(24 小时制)

mm

ss

环境变量

kinit 使用以下环境变量:

KRB5CCNAME

凭证(票证)高速缓存的位置。有关语法和详细信息,请参见 krb5envvar(5)。

文件

/tmp/krb5cc_uid

缺省凭证高速缓存(uid 是用户的十进制 UID)。

/etc/krb5/krb5.keytab

本地主机的 keytab 文件的缺省位置。

/etc/krb5/krb5.conf

本地主机的配置文件的缺省位置。请参见 krb5.conf(4)。

属性

有关下列属性的说明,请参见 attributes(5):

属性类型

属性值

可用性

service/security/kerberos-5

接口稳定性

请参见下文。

命令参数是 "Committed"(已确定)。命令输出是 "Uncommitted"(未确定)。

另请参见

附注

如果成功,kinit 将在初始凭证(票证授予票证)即将过期时通知 ktkt_warnd(1M) 去警告用户。

kinit什么意思_kinit相关推荐

  1. mysql_backups

    数据备份与恢复 一.备份简介         2.1 备份分类         2.2 备份工具 二.mysqldump         2.1 常用参数         2.2 全量备份       ...

  2. 在hadoop/hbase等代码中kinit

    在hadoop/hbase等代码中kinit @(HBASE)[hadoop, hbase, storm, kafka] (一)在java代码中kinit的方法 使用hadoop的UserGroupI ...

  3. python子进程进行kinit认证_使用kafka-python客户端进行kafka kerberos认证

    之前说过python confluent kafka客户端做kerberos认证的过程,如果使用kafka python客户端的话同样也可以进行kerberos的认证,具体的认证机制这里不再描述,主要 ...

  4. kinit无密码登录配置

    为什么80%的码农都做不了架构师?>>>    通常在远程客户端上登录kerbros都需要密码,在学习hadoop的时候提到了ktutil这个工具,这里将使用方法贴出来. 运行命令 ...

  5. kinit什么意思_kerberos入坑指南

    原理介绍 kerberos主要是用来做网络通信时候的身份认证,最主要的特点就是"复杂".所以在入坑kerberos之前,最好先熟悉一下其原理.这里推荐一些别人写的文章内容来进行简单 ...

  6. csh shell_06145.16.1同一OS用户并行Shell脚本中kinit不同的Principal串掉问题分析

    温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图. Fayson的github: https://github.com/fayson/cdhproject 提示 ...

  7. 【kerberos】kinit: Credential cache directory “/run/user/0/krb5cc“ does not exist while getting

    前言 在用SUSE 操作系统安装 CM 大数据平台,在 集群开启 kerberos 操作时报错,报错内容如下: kinit: Credential cache directory "/run ...

  8. kinit: KDC can‘t fulfill requested option while renewing credentials

    文章目录 kinit: KDC can't fulfill requested option while renewing credentials 背景 解决 kinit: KDC can't ful ...

  9. Kerberos安全机制-kinit

    一.Kerberos协议 Kerberos(具体可参考RFC1510)是一种网络身份验证的协议(注意它只包括验证环节,不负责授权),用户只需输入一次身份验证信息,就可凭借此验证获得的票据授予票据(ti ...

最新文章

  1. ARP监测工具Arpwatch
  2. RabbitMQ学习总结(5)——发布和订阅实例详解
  3. jQuery中通过JSONP来跨域获取数据的三种方式
  4. C++学习笔记2[表达式与语句]
  5. [zz]zookeeper的配置项
  6. 深入理解Kafka(4)-主题与分区
  7. pybot --help
  8. 48、多用块枚举,少用for循环
  9. [LeetCode] #22 Generate Parentheses
  10. Java Bean + 注册验证
  11. python3: failed with error code 1 in /tmp/pip-build-qp5puacl/Pillow/
  12. larveral 直接拷贝安装_2020年mac系统下制作win10引导安装盘,亲测可用
  13. c语言课后题第一章答案,C语言教材课后习题(含答案)
  14. android桌面半透明,Android仿Iphone屏幕底部弹出半透明PopupWindow效果
  15. 智能制造:三体智能革命
  16. 办公小技巧1:使用adb命令在电脑与手机之间传输文件
  17. 如何通过Python进行图片批量下载?
  18. 个人项目——二柱子程序升级版
  19. 【辅助驾驶】Python在Windows系统下实现TTS(文字转语音)
  20. javaScript 如何使用js追加字符串呢?

热门文章

  1. 直观上理解PCA中特征值和特征向量
  2. PPT中如何将图片灰化(黑白化)
  3. Construct2 ——— 零基础也能自己做游戏
  4. 宇信科技有限公司面试题目
  5. iframe中加载html,在iframe中加载外部html并访问内容
  6. EDM邮件营销的七个基本原则
  7. MySQL查询7天内过生日的用户 查询生日是今天的用户 解决跨年问题
  8. mysql什么方法返回id_MYSQL获取自增ID的四种方法
  9. 42岁大厂高管,给30岁-39岁人提个醒:这6个让你变强的习惯,要尽快养成
  10. ROM、RAM、DRAM、SRAM、FLASH区别