3

如果您知道用户名/密码,有没有办法在 Python 中创建 Kerberos 票证?

我有 MIT Kerberos,我可以通过 KINIT 以交互方式执行此操作,但想从 Python 执行此操作。

4

2 回答 2

3

从我在使用 kerberos 时学到的东西(尽管在我的工作中我使用了 C)是你几乎无法替换 KINIT。有两种方法可以使用编程模拟 KINIT 行为,它们是:使用适当的参数从 python 调用 kinit shell 命令,或者(如我所做的)调用一种几乎可以完成所有事情的方法:

krb5_get_init_creds_password(k5ctx, &cred, k5princ, 密码, NULL, NULL, 0, NULL, NULL);

所以这是一个 C 原语,但你应该找到一个用于 python(我假设)的原语,它会做同样的事情。基本上,此方法将接收 kerberos 会话、主体(由用户名构建)和密码。为了完全替换 KINIT 行为,您确实需要比这更多的东西(启动会话、构建主体等)。抱歉,因为我没有使用 python,所以我的答案可能不是你想要的,但我希望我能给你一些启发。随意询问有关 kerberized 应用程序如何工作的任何概念性问题。

于 2014-10-24T12:40:04.900 回答
1

您显然正在寻找这个,但我猜Python 绑定已经过时了。我建议您自己为一些功能创建一个基于 SWIG 的绑定。那应该可以解决您的问题。

于 2014-10-23T19:56:27.307 回答