如何运行Python程序以便输出STDOUT并将其STDIN输入/输出远程telnet客户端?
所有程序都打印出文本,然后反复等待raw_input()。我希望远程用户无需shell访问即可使用它。它可以是单线程/单用户。
答案 0 :(得分:10)
在Unix系统上,您可以使用inetd。它将负责为您打开网络连接,因此您的程序将按原样运行。
答案 1 :(得分:5)
将Python脚本放入该用户的shell中。 (或者,如果这不起作用,请将其包装在bash脚本甚至可执行文件中)。
(您可能必须将其放在/ etc / shells(或等效)中)
答案 2 :(得分:4)
如果您不需要完整的telnet功能,可以使用套接字。
查看标准python库中的Socket Server模块。 它将使您能够轻松编写一个程序,该程序将在端口上侦听输入/输出。
它不支持正确的telnet协议协商,但您可能不需要这样做。
答案 3 :(得分:0)
您可以创建一个新的linux用户并将其shell设置为您的脚本。
然后当他们telnet并输入用户名/密码时,程序运行而不是bash或默认的shell。