3

我目前正在尝试使用 Fabric 执行以下操作:

  1. 在主机上以用户“user1”的身份启动命令“whoami”
  2. 在主机上以用户“user2”的身份启动命令“whoami”

相应的巴赫命令是:

$ ssh user1@host
  [...enter password...]
$ whoami
$ su - user2
  [...enter password...]
$ whoami

请注意,唯一允许连接到主机的用户是“user1”。我无法使用 user2 连接到我的主机。

我试过这个面料代码:

def mytask():
    with settings(user='user1', password='p1'):
        run('whoami')
        with settings(user='user2', password='p2'):
            run('whoami')

但它一直问我user2的密码。

4

2 回答 2

3

Fabric 可以sudo对用户(root 用户除外):

def mytask():
with settings(user='user1', password='p1'):
    run('whoami')
    sudo('whoami', user="user2")
于 2012-10-14T10:16:00.443 回答
0
def mytask():
    with settings(user='user1', password='p1'):
        run('whoami')
        run('sudo -u user2 -S p2 whoami')
于 2012-08-07T08:40:24.090 回答