Python 结构:连接到远程服务器,然后在sudo su-user2之后执行命令

Python 结构:连接到远程服务器,然后在sudo su-user2之后执行命令,python,ssh,fabric,Python,Ssh,Fabric,我需要编写一个python脚本,它必须能够连接到远程服务器(到user1),执行一些命令(这很容易),然后它必须通过sudo su-user2切换到user2,并执行一些命令(问题就在这里)。 如何让它在不询问密码的情况下切换到user2(我可以将密码放在脚本的某个地方),并以user2的身份执行命令 谢谢,试试-S(大写“S”)。引用sudo手册页: -S The -S (stdin) option causes sudo to read the password fro

我需要编写一个python脚本,它必须能够连接到远程服务器(到user1),执行一些命令(这很容易),然后它必须通过sudo su-user2切换到user2,并执行一些命令(问题就在这里)。 如何让它在不询问密码的情况下切换到user2(我可以将密码放在脚本的某个地方),并以user2的身份执行命令

谢谢,

试试
-S
(大写“S”)。引用sudo手册页:

  -S          The -S (stdin) option causes sudo to read the password from
               the standard input instead of the terminal device.

旁白:为什么“
sudo su-user2
”?为什么不“
sudo-uuser2-s
”?因为我不知道sudo-uuser2-s:)。无论如何,我试过了:sudo('su-u user2-s')user user1不允许在new_hub上以root身份执行'/bin/bash-l-c su-u user2-s'。明白了。作为超级用户,唯一允许我做的是sudosu-user2,如果我尝试sudo,它将不会通过。做sudo('su-user2')将尝试执行这个sudo-S-p,这对我来说是不可能的。结构不够具体:)在某些方面