1

我的系统设置为允许某个用户在没有密码提示的情况下运行 sudo 命令。多年来,这一直运行良好。现在我遇到了一个非常不寻常的问题,其中某些命令提示输入 sudo 密码。我认为这是因为fabric 正在解析输出并决定在远端请求密码。

但是,实际上,这是错误的!没有请求密码(我可以使用 ssh 运行相同的命令,没有提示密码)。我至少认为该命令ps -ef有问题,我认为是因为正在生成的输出类型。

事实上,该命令ps -ef还显示了fabric 用于在远端运行此命令的命令,我认为这使fabric 令人困惑。可能认为 sudo输出中的 a 表示需要密码。这是阻止结构提示输入密码的输出部分:

[aaaa@bbbb:22] out: aaaa      9917  9790  0 15:10 ?        00:00:00 sshd: aaaa@notty 
[aaaa@bbbb:22] out: root      9918  9917  0 15:10 ?        00:00:00 sudo -S -p sudo password: 

是否可以告诉fabric no 来解析输出,或者至少不提示输入密码?

4

1 回答 1

0

在调用命令之前尝试将 shell 设置为 false。

env.shell = False
于 2012-12-08T20:51:33.297 回答