【问题标题】:Kubernetes: How to run a script with different user from rootKubernetes:如何使用不同的用户从 root 运行脚本
【发布时间】:2020-04-30 20:11:59
【问题描述】:

我在执行 cronjob 时遇到问题。下面是代码的 sn-p。

 containers:
      - name: ssm1db
        image: anuragh/ubuntu:mycronjob5
        imagePullPolicy: Always
       command:
         - "/bin/sh"
         - "-c"
         - "kubectl exec ssm1db-0 -- bash -c 'whoami; /db2/db2inst1/dba/jobs/dbactivate.sh -d wdp'"

例如。 我可以执行下面的代码。这里 db2inst1 是我需要执行脚本的用户。

/bin/su -c ./full_online_backup.sh - db2inst1

但是在使用 kubectl 执行时,出现以下错误

/bin/su: /bin/su: cannot execute binary file
command terminated with exit code 126
[root@ssm1db-0 /]# 

【问题讨论】:

  • 有人可以帮我解决这个问题
  • 如果找到命令但无法执行,则返回状态为 126。Refer .. 那么您的用户是否对您正在尝试的操作具有执行权限?
  • @AnuraghRavindran 你想用 cronjob 运行的确切命令是什么。我在这里看到的另一件事是,您使用的是相对路径,例如 ./full_online... 您可以尝试使用绝对路径吗?
  • @Anuragh Ravindran 您能否提供上述问题的答案?

标签: kubernetes kubernetes-jobs


【解决方案1】:

相关问题:How to start crond as non-root user in a Docker Container?

在非 root 用户中运行 crond 时会遇到权限问题。

【讨论】:

    猜你喜欢
    • 2011-03-10
    • 2012-06-10
    • 1970-01-01
    • 2010-09-28
    • 1970-01-01
    • 1970-01-01
    • 2010-10-08
    • 2011-07-13
    • 1970-01-01
    相关资源
    最近更新 更多