栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用Python在SSH中使用“ su -l”执行命令

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Python在SSH中使用“ su -l”执行命令

首先是一般免责声明(针对那些偶然发现此问题的人):

  • 使用
    su
    不是正确的解决方案。
    su
    是一种旨在用于交互式用途而非自动化的工具。正确的解决方案是直接使用正确的帐户登录。

或至少使用无密码

sudo

或者,您可以使用

setuid
right创建一个根所有者脚本。

另请参见在Linux上使用SSH以root身份自动执行命令。

  • 如果您坚持使用
    su
    ,在大多数系统上,可以使用
    -c
    switch
    su
    来指定命令:
    su -c "whoami" user

如果以上都不可行(并且您确实在尽力使管理员启用上述某些选项):

作为最后的选择,您可以将命令写到的标准输入中

su
,就像您已经写过密码一样(另一件事是不这样做):

stdin, stdout, stderr = session.exec_command("su -l " + user_to_log)stdin.write(password_to_log + 'n')stdin.flush()command = 'whoami'stdin.write(command + 'n')stdin.flush()

(还请注意,调用多余

makefile
,因为
exec_command
已经返回了)


请注意,您的问题不是关于要使用哪个SSH客户端库。 不管您使用Paramiko还是其他。这实际上是一个通用的SSH / shell问题。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/405555.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号