我目前正在尝试使用Fabric执行以下操作:
相应的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的密码。
答案 0 :(得分:3)
Fabric可以sudo
发送给用户,而不是root:
def mytask():
with settings(user='user1', password='p1'):
run('whoami')
sudo('whoami', user="user2")
答案 1 :(得分:0)
def mytask():
with settings(user='user1', password='p1'):
run('whoami')
run('sudo -u user2 -S p2 whoami')