如何从IntelliJ/WebStorm/PhpStorm中的"外部工具"运行sudo脚本?

Ang*_*las 5 linux sudo intellij-idea phpstorm webstorm

我想从IntelliJ/WebStorm运行我的root需要的 bash脚本,在运行它时询问我输入root密码.在脚本中硬编码我的root密码当然是个坏主意.

IntelliJ/WebStorm实际上有一个$ Prompt $宏,出于这样的原因,它会提示您并将您的输入用作值.

所以我尝试使用$ Prompt $,echo YOURPASSWORD | sudo -S yourcommanduse-sudo-with-password-as-parameter中所述.

然后我传递passwd和脚本来运行一个sudorun.sh脚本echo -e $1 | sudo -S $2 $3 $4(因为echo不能是'program'行),虽然它在CLI上运行,但它无法在IntelliJ控制台上读取echo-stdin.

理想情况下,我希望解决方案仅在IntelliJ中配置,并且不需要在IntelliJ之外进行特定的OS配置更改.

也许有其他方法可以解决这个问题,所以让我们即兴发挥!

Mar*_*ano 5

我也遇到了同样的问题,但我在开发机器上处理敏感数据并删除sudoers的密码要求不是一个选择.

我能够通过使用sudo命令从命令行启动实际的WebStorm应用程序来解决此问题,如下所示:

sudo /Applications/WebStorm.app/Contents/MacOS/webide

以这种方式启动WebStorm/PhpStorm后,您可以运行具有root访问权限的脚本,而无需提供root凭据.


Bri*_*ain 4

利用NOPASSWD的特性sudo。添加如下规则sudoers(通过visudo或类似):

someuser      ALL = NOPASSWD: /usr/bin/interesting_program
%somegroup    ALL = NOPASSWD: /usr/bin/interesting_program
Run Code Online (Sandbox Code Playgroud)

  • 是的,它是一个有效且通用的解决方案,但它与操作系统而不是 IDE 相关,这是我更喜欢的。 (2认同)