我可以让 fabric 使用 `dzdo su -` 而不是 sudo 吗?

Can I make fabric use `dzdo su -` instead of sudo?

我们有一些实际上没有安装 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和...none这些方法有效。

有什么方法可以使用 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')