Fabric su 与 sudo

Fabric su with sudo

我需要在 Fabric 中实现以下过程:

  1. su 新用户
  2. cd /newuser/bin/
  3. sudo ./script.sh

我尝试在这里实施解决方案 switch to different user using fabric 但它对我不起作用。

我得到 "Must be logged on as root or user with sudo privileges" 这意味着 sudo 由于某种原因没有工作。 奇怪的是,当我将 sudo 放在发送命令中时,即:

执行(su, pwd, 'newUser', sudo('./script.sh'))

它似乎有效,但不是作为新用户,而是作为旧用户执行的。

有什么想法吗?我可以使用其他实现吗?

由于我尝试了很多方法但无法找到解决方案, 我决定有一个解决方法。 我直接与新用户 ssh 以避免先 su 然后再 sudo。 当然,这仅在您的新用户可以通过 ssh 连接到节点

时才有效