将Kerberos keytab从StringIO传递给kinit

时间:2017-05-12 21:24:41

标签: python-2.7 kerberos

我正在编写一个小型Python实用程序,它将Kerberos v5 keytab存储在StringIO对象中。我想避免将所述密钥表存储在计算机磁盘的任何位置。

因此,我非常希望像这样调用kinitsplit()subprocess()来跟随):

command = "/usr/bin/kinit -V -c {0} -t {1} {2}@{3}".format(cache, ticket, loginUser, kerberosDomain)

票证是:

ticket = StringIO.StringIO(data)

kinit并不是真的喜欢它。其source file说:

925    /* Ensure we can be driven from a pipe */

有没有人有从管道驱动kinit的经验,特别是如何将票据注入(可能是)stdin?

或者,StringIO可以包含在像mmap这样的内容中,以表现得像一个真实的"提交到kinit

谢谢!

PS:我在发布这个问题时读到了一个非常有趣的讨论: Python - How do I pass a string into subprocess.Popen (using the stdin argument)?

0 个答案:

没有答案