加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – Telnet服务器ubuntu – 密码流

发布时间:2020-12-20 13:30:27 所属栏目:Python 来源:网络整理
导读:我试图在Ubuntu 12.04上使用 Python创建一个Telnet服务器.为了能够以不同的用户身份执行命令,我需要使用su命令,然后提示输入密码.现在,我知道提示被发送到STDERR流,但我不知道我应该将密码发送到哪个流.如果我尝试通过STDIN发送它,我会收到错误:su:必须从
我试图在Ubuntu 12.04上使用 Python创建一个Telnet服务器.为了能够以不同的用户身份执行命令,我需要使用su命令,然后提示输入密码.现在,我知道提示被发送到STDERR流,但我不知道我应该将密码发送到哪个流.如果我尝试通过STDIN发送它,我会收到错误:su:必须从终端运行.我该怎么办?

解决方法

如果你真的想使用系统的su程序,你需要创建一个终端对,参见man 7 pty,在python中,pty.openpty调用返回一对文件描述符,一个用于你,一个用于su.然后你必须fork,在子进程中将stdin / out / err更改为slave fd和exec su.在父进程中,您将数据发送到主fd并从主fd接收数据. Linux内核将它们连接在一起.

或者你可以模仿su而不是?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读