Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java “的Kerberos自动更新”;续约至;_Java_Hadoop_Kerberos_Auto Renewing_Keytab - Fatal编程技术网

Java “的Kerberos自动更新”;续约至;

Java “的Kerberos自动更新”;续约至;,java,hadoop,kerberos,auto-renewing,keytab,Java,Hadoop,Kerberos,Auto Renewing,Keytab,使用诸如Kerberos“续订到”auto之类的关键字,找不到可以解决我的问题的线程,所以在这里发布 我创建了一个keytab,其中包含以下票证生命周期信息 Valid starting: 09/14/2018 13:05:01 Expires: 09/15/2018 13:05:01 renew until: 09/19/2018 09:26:37 基于 我可以毫无问题地续签过期的车票 现在另一个问题是续订,直到设置为7天后过期 我的问题: 哪一个类似于kinit-R的命令可以自动延长续

使用诸如Kerberos“续订到”auto之类的关键字,找不到可以解决我的问题的线程,所以在这里发布

我创建了一个keytab,其中包含以下票证生命周期信息

Valid starting: 09/14/2018 13:05:01 
Expires: 09/15/2018 13:05:01
renew until: 09/19/2018 09:26:37
基于

我可以毫无问题地续签过期的车票

现在另一个问题是续订,直到设置为7天后过期

我的问题:

  • 哪一个类似于
    kinit-R
    的命令可以自动延长续费至日期,这样我就不需要重新发出
    kinit-kt-mine.keytab我的委托人
    来获取我的keytab的新票证

  • 或者任何可以达到相同效果的API?基于以下Hadoop API,我可以执行代码,但在更新之前我找不到更新

    UserGroupInformation.loginUserFromKeytab(principal, keyPath)
    val currentUser = UserGroupInformation.getCurrentUser()   
    currentUser.checkTGTAndReloginFromKeytab
    val currentUser1 = UserGroupInformation.getLoginUser
    currentUser1.checkTGTAndReloginFromKeytab`
    
    klist
    显示续订至部分中的日期保持不变

编辑:格式化可更新的TGTs

当票据可续签时,会话密钥会定期刷新,而不会发出全新票据。如果Kerberos策略允许可更新票证,KDC将在其发出的每个票证中设置一个可更新标志,并在票证中设置两个过期时间。一个过期时间限制票证当前实例的生命周期;第二个过期时间设置了票证所有实例的累积生存期限制

票证当前实例的过期时间保存在结束时间字段中。与不可更新的票证一样,结束时间字段中的值等于开始时间字段中的值加上Kerberos策略指定的最大票证寿命值。持有可续签票证的客户机必须在到达结束时间之前将其发送给KDC,并提供一个新的验证器进行续签。当KDC收到续订票据时,它会检查“续订到”字段中保存的第二个到期时间的值。此值在首次发行票据时设置。它等于票证开始时间字段中的值加上Kerberos策略指定的最大累积票证寿命值。当KDC续订票据时,它会检查以确定续订时间是否尚未到达。如果没有,KDC将发布一个新的票证实例,其中包含一个更晚的结束时间和一个新的会话密钥

这意味着管理员可以设置Kerberos策略,例如,必须每天以相对较短的时间间隔续订票据。续订票据时,会发出新的会话密钥,从而最大限度地降低受损密钥的价值。管理员还可以设置相对较长时间(例如一周或一个月)的累积票证寿命。在这段时间结束时,车票过期,不再有效续期


所以续订-直到是票证的一部分,出于安全原因,它的最大值在服务器端受到限制。设计上没有解决办法。

一个密钥表包含一个(列表)密码,密码用(多个)算法加密。里面没有票。凭证快取包含票证。Kerberos的核心是安全性。永久有效的车票是一种安全责任。因此,票不能永远存在。提问结束。看看k5start是否能帮助你。一旦你为你的kinit设置了一个键表,你就可以像这样做,把它作为一个守护进程运行。k5start-K60-f/etc/sssd/serviceuser.keytab