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

ファブリックは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 に答える