2017-10-04 108 views
0

我的要求如何面料做工很简单:“须藤苏USER1” 与“须藤苏用户”

  • 列表中的所有项目:

    1. SSH到远程服务器与用户0
    2. 切换用户使用为user1在当前文件夹

    我的期望码:

    def startRedis(): 
        run('sudo su - user1') 
        print(run('ls')) 
    

    然而,它结束于:[email protected]:~$ 并永远等待我的交互式命令,永远不会执行第二行。看来sudo su开了一个新的shell。

    任何人都可以帮助解决这个简单的任务吗?

  • 回答

    0

    您可以在env中设置sudo_user属性。这种结构将把用户切换到所需的用户。

    官方DOC:http://docs.fabfile.org/

    密码切换用户可以在ENV指定。本身以避免在调用方法时得到提示。

    fabfile.py

    from fabric.api import env, sudo 
    
    env.sudo_user='user1' 
    env.password = '***' 
    
    def list_items(): 
        sudo('ls') 
    

    以下命令&运行之后指定主机-H

    fab -H host1 list_items