【问题标题】:sudo asks for password in cronjob script but the same script works without password in terminalsudo 在 cronjob 脚本中要求输入密码,但相同的脚本在终端中无需密码即可工作
【发布时间】:2020-06-30 10:31:07
【问题描述】:

我在/etc/sudoers 文件中添加了一个脚本。

user ALL=(ALL)     NOPASSWD:/home/user/project/execute.sh

之后我在用户 crontab 中添加了相同的脚本,如下所示:

*/1 * * * * /home/user/project/execute.sh > /home/user/cronjob-logs/`date +\%FT\%T`-cron.log 2>&1

脚本中有一个命令只能使用sudo 运行。但是由于我在 sudoers 文件中添加了脚本,所以它可以在没有密码的终端中运行。但它会在 crontab 中引发“权限被拒绝”错误。有人可以帮忙吗?提前致谢。

【问题讨论】:

  • 嗨,我看到你在这个案例中标记了 kubectl 和 minikube,但你没有在问题本身上提到它。你介意澄清一下吗?
  • 我在脚本中运行的命令是与 minikube 集群通信的 kubectl 命令。感谢您调查该问题:)。我能够解决它。

标签: linux ubuntu kubectl minikube


【解决方案1】:

我可以通过在 crontab 中的脚本前添加 sudo 来解决问题,如下所示:

*/1 * * * * sudo /home/user/project/execute.sh > /home/user/cronjob-logs/date +\%FT\%T-cron.log 2>&1

【讨论】:

    猜你喜欢
    • 2011-04-27
    • 2019-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-19
    • 1970-01-01
    • 1970-01-01
    • 2012-05-17
    相关资源
    最近更新 更多