我们有一些较旧的系统,实际上没有安装sudo,它们具有dzdo,这是Centrify的事情。看起来我们只能做些有限的事情,基本上就是dzdo su -。因此,我们使用ssh,运行dzdo su -以获取root身份,然后执行我们的工作。

有没有办法使织物做到这一点?

我试过了

from fabric.api import settings

def as_root():
    with settings(sudo_prefix='dzdo su -'):
        sudo('whoami')

以及dzdodzdo su以及...这些方法都不起作用。

有没有办法可以将Fabric用于此目的?

最佳答案

我知道这是一个老问题,但这对我有用:

def as_root():
    env.sudo_prefix = "/usr/bin/dzdo -s"
    sudo('whoami')

或者,采用您的方法:
def as_root():
    with settings(sudo_prefix='/usr/bin/dzdo -s'):
        sudo('whoami')

10-08 04:36