当前位置: 首页 > 知识库问答 >
问题:

在运行bash脚本时自动输入密码[duplicate]

海宁
2023-03-14

例如,如果我有一个脚本说:

#!/bin/bash
sudo setpci -s 00:02.0 F4.B=00

如何将root密码放入脚本中,以便它在读取和执行sudo行时接受它作为密码(这样我就不必手动键入)?

共有1个答案

百里光熙
2023-03-14

在bash脚本中生成期望会话通常是您自动化交互式提示的方式。

例如

expect -c "
spawn sudo setpci -s 00:02.0 F4.B=00
expect -nocase \"password:\" {send \"$PASS\r\"; interact}
"

请注意,在这种情况下,这不是推荐的方法,因为将root密码存储在bash脚本中是一个巨大的安全漏洞。

正确的解决方案是编辑您的/etc/sudoers/以不提示您输入该二进制文件的密码。

#in /etc/sudoers
neohexane ALL=(ALL) NOPASSWD : /usr/bin/setpci
 类似资料:
  • 问题内容: 用户可以在运行Selenium IDE脚本时进行手动输入吗?对于前。如果存在名称字段,那么每次脚本运行时我们都可以打开输入框,以便用户可以输入其名称字段吗? 让我知道是否可行。 如果是的话,请给我建议解决方案。 提前致谢 问题答案: 您可以使用以下脚本来调用javascript提示以获取值 然后使用来访问该值。 编辑:由于Selenium IDE 2.5.0,脚本需要看起来像这样:

  • 我有一个用例,其中我在bash脚本中使用命令,其中我以明文格式输入了Keystore密码。类似的东西: 测验嘘 现在需要在脚本中加密这个明文密码,这样就可能不知道实际的密钥库密码。我尝试使用OpenSSL加密默认密码,将其存储在另一个隐藏文件中,并在运行脚本时随时解密密码,但任何有权访问脚本的人都可以查看正在使用的算法,并使用相同的OpenSSL命令解密密码。 我知道keytool需要不惜任何代价

  • 本文向大家介绍在Windows启动时自动运行Python脚本?,包括了在Windows启动时自动运行Python脚本?的使用技巧和注意事项,需要的朋友参考一下 将Python脚本添加到Windows启动时,基本上表示Python脚本将在Windows启动时运行。这可以通过两步过程来完成- 步骤#1:在Windows启动文件夹中添加或添加脚本 在启动Windows后,它会执行(相当于双击)其启动文件

  • 问题内容: 我想从下面的程序中运行一个shell脚本,但它似乎无能为力。我已经直接在linux终端中运行了相同的命令,它运行正常,所以我猜这是我的Java代码。如您所见,我首先使用PrintWriter将命令写入Shell脚本,但我希望这不会影响Shell脚本本身的运行。任何帮助,将不胜感激! 问题答案: 您应该使用返回的结果。 将命令作为单独的进程执行,并返回类型为的对象。您应该调用以便程序等待

  • 网站联系人表单中有验证码,我想测试同一页面。我已经开发了同样的自动化脚本,并将等待置于验证码之前,这样用户就必须手动输入验证码,然后脚本就会转到发送按钮。 我的问题是,当联系人表单页面加载时,它没有加载验证码图像,而我们手动导航,它工作正常。这背后的原因和解决方案是什么。

  • 问题内容: 我试图这样做以确定是否将stdin重定向到文件: 但这不起作用,因为当变量$ input为“&0”时,bash会将其解释为文件名。 但是,我可以这样做: 问题在于./myScript实际上是一个长长的命令行,我不想重复,也不想为其创建函数,因为它也不那么长(不值得)。 然后我想到这样做: 但这需要再运行一个命令和一个管道(即子外壳)。 还有另一种更简单,更有效的方法吗? 问题答案: 首