Fabric:注销然后以新用户身份登录

时间:2018-03-22 14:51:05

标签: python ssh fabric

我正在使用fabfile从头开始配置Ubuntu 16.04服务器并部署Django项目。

首先它做的是:

def create_user_and_set_sshkeyauth():
    # creates new sudoer user and set ssh authorized_keys

def do_stuff_as_new_user():
    # installs dependencies, sets database, deploys django

工作流:

create_user_and_set_sshkeyauth()
# LOGOUT ROOT, LOGIN THE NEW USER
do_stuff_as_new_user()

所以我想从root帐户注销并以新创建的用户身份登录,并在此用户下执行操作。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

settings上下文管理器是实现它的方法:

@roles('foo')
def whatever():
   create_user_and_set_sshkeyauth()

   with settings(user='otheruser'):

      do_stuff_as_new_user()