我想我的根需要 bash脚本从IntelliJ / WebStorm运行,当我运行它时要求我inputroot密码。 在脚本中硬编码我的root密码当然是个坏主意。
IntelliJ / WebStorm实际上有一个$提示$macros的原因,这会提示你并使用你的input作为价值。
所以我尝试使用$提示$与echo YOURPASSWORD | sudo -S yourcommand
echo YOURPASSWORD | sudo -S yourcommand
在use-sudo-with-password-as-parameter中描述 。
然后我通过密码和脚本运行到一个sudorun.sh
脚本echo -e $1 | sudo -S $2 $3 $4
echo -e $1 | sudo -S $2 $3 $4
(因为echo
不能是'程序'行),虽然它在CLI上工作,但无法读取IntelliJ控制台上的echo-stdin。
理想情况下,我希望解决scheme只能在IntelliJ中configuration,不需要在IntelliJ之外进行特定的操作系统configuration更改。
也许还有其他方法来处理这个,所以让即兴!
我也面临同样的问题,但是我在我的开发机器上使用敏感数据,并且删除sudoers的密码要求不是一个选项。
我能够通过使用sudo命令从命令行启动实际的WebStorm应用程序来解决此问题,如下所示:
sudo /Applications/WebStorm.app/Contents/MacOS/webide
一旦以这种方式启动WebStorm / PhpStorm,就可以在不提供根凭证的情况下以root用户身份运行脚本。
使用sudo
的NOPASSWD
功能。 向sudoers
(通过visudo
或类似的)添加一条规则:
someuser ALL = NOPASSWD: /usr/bin/interesting_program %somegroup ALL = NOPASSWD: /usr/bin/interesting_program
我发现自己做了很多工作流程,并且遇到了同样的问题。 我不想在我的sudoer权限中打一个洞,我也不想以root身份运行我的IDE。 我找到的一个很好的解决方案是gksudo
,在Ubuntu和其他许多Linux版本中,默认情况下会安装它。 gksudo
所做的是允许你提示用户(你自己)用图形覆盖图输入你的密码,就像Ubuntu / KDE / etc一样。 当您需要成为root用户时,请执行更新等操作。
这会提示你提供你的密码来升级权限,然后以root身份执行给定的命令/程序。
在编辑工具窗口中简单地:
/usr/bin/gksudo
whereis gksudo
可以找到它的路径 "mongod --fork --config /etc/mongodb.conf; service elasticsearch start"