Concourse: `fly hijack` returns "error: open /dev/stdin: permission denied"

Concourse: `fly hijack` returns "error: open /dev/stdin: permission denied"

我正在尝试使用以下命令劫持 Concourse 任务容器:

$ fly  -t caas hijack --job=deploymen/deploy-jenkins
1: build #8, step: deploy-jenkins-with-helm, type: task
2: build #8, step: k8s-pipelines-repo, type: get
choose a container: 1

选择容器后,fly returns 出现以下错误信息,无法劫持容器:

error: open /dev/stdin: permission denied

我是运行 RHEL机器上非root用户的命令。有什么想法吗?

你可以试试 运行 这个命令作为 sudo 吗?

$ sudo fly -t caas hijack --job=deploymen/deploy-jenkins

遇到了同样的问题,并且费了很大劲才找出根本原因。对我来说,实际上是我登录到远程系统并使用 sudo su <username> 更改我的用户上下文。这实际上会导致 /dev/stdin、/dev/stdout、... 的问题,这在 https://unix.stackexchange.com/questions/38538/bash-dev-stderr-permission-denied 中有很好的解释。

我可以通过使用 sudo login <username> 来解决这个问题。希望对您有所帮助。

你的乔达 :)