如果您知道用户名/密码,是否有办法在 Python 中创建 Kerberos 票证?
我有 MIT Kerberos,我可以通过 KINIT 以交互方式执行此操作,但我想通过 Python 执行此操作。
根据我在使用 kerberos 时(虽然在我的工作中我使用的是 C)的经验,你很难替代 KINIT。有两种方法可以使用编程来模拟 KINIT 行为,它们是:使用适当的参数从 python 调用 kinit shell 命令,或者(就像我所做的那样)调用一种几乎可以完成所有事情的方法:
krb5_get_init_creds_password(k5ctx, &cred, k5princ, password, NULL, NULL, 0, NULL, NULL);
所以这是一个 C 原语,但你应该找到一个用于 python 的(我假设)它会做同样的事情。基本上,此方法将接收 kerberos session 、主体(根据用户名构建)和密码。为了完全替换 KINIT 行为,您确实需要比这更多的东西(启动 session 、构建主体等)。抱歉,因为我没有使用 python,所以我的答案可能不是你想要的,但我希望我能给你一些启发。欢迎提出任何关于 kerberized-applications 如何工作的概念性问题。
我是一名优秀的程序员,十分优秀!