如果您知道用户名/密码,有没有办法在 Python 中创建 Kerberos 票证?
我有 MIT Kerberos,我可以通过 KINIT 以交互方式执行此操作,但想从 Python 执行此操作。
如果您知道用户名/密码,有没有办法在 Python 中创建 Kerberos 票证?
我有 MIT Kerberos,我可以通过 KINIT 以交互方式执行此操作,但想从 Python 执行此操作。
从我在使用 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 应用程序如何工作的任何概念性问题。