我目前正在尝试使用Fabric执行以下操作:
>在主机上以用户“ user1”的身份启动命令“ whoami”
>在主机上以用户“ user2”的身份启动命令“ whoami”
相应的Bach命令为:
$ssh user1@host
[...enter password...]
$whoami
$su - user2
[...enter password...]
$whoami
请注意,唯一允许连接到主机的用户是“ user1”.我无法使用user2连接到主机.
我尝试了这个Fabric代码:
def mytask():
with settings(user='user1', password='p1'):
run('whoami')
with settings(user='user2', password='p2'):
run('whoami')
但是它一直在询问我user2的密码.
解决方法:
Fabric可以向用户sudo,而不是root:
def mytask():
with settings(user='user1', password='p1'):
run('whoami')
sudo('whoami', user="user2")
标签:fabric,python
来源: https://codeday.me/bug/20191130/2077116.html