如果您知道用户名/密码,有没有办法在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,空);
所以这是一个C基元,但你应该为python找到一个(我想)也会这样做的基元。基本上,此方法将接收kerberos会话、主体(根据用户名构建)和密码。为了完全取代KINIT行为,您确实需要更多(启动会话、构建主体等)。对不起,由于我没有使用python,我的答案可能不是你想要的,但我希望我能给你一些启示。请随意询问有关kerberized应用程序如何工作的任何概念性问题。
您显然在寻找这个,但我猜Python绑定已经过时了。我建议您自己为几个函数创建一个基于SWIG的绑定。这应该能解决你的问题。