运行 shell 脚本而不提示输入密码

运行 shell 脚本而不提示输入密码

我有一个调用 dpkg 的 shell 脚本,显然需要使用 sudo 才能执行任何操作。我已将 dpkg 添加到 /etc/sudoers.d 中不再需要密码的文件列表中(我知道这是个坏主意),但当我尝试运行脚本时,它仍然要求输入密码。该脚本很简单

sudo dpkg -i $1

当我从终端运行 dpkg 时,它不需要密码,但是当我从 .sh 文件执行时,它会立即要求输入密码。

除了添加 sudoers.d 之外,还有什么建议或想法我还需要做什么?

答案1

所以解决方案相当简单。问题是 shebang 行作为单独的用户帐户运行。当我将 /etc/sudoers.d 目录中的 更改为 时username usergroup = (root)...ALL ALL = (root)...它允许我们运行脚本而无需密码。这里存在明显的安全隐患,需要进行调查,但这超出了我最初提出的问题的范围。

相关内容