为未添加到docker组

时间:2017-10-12 16:24:31

标签: linux docker nsenter

我的任务是提供对特定docker容器的访问权限,而无需将用户添加到docker组。

我做了什么

1)制作一个必须输入容器的nsenter-based脚本(让我们称之为script1.sh

#!/bin/bash
PID=$(docker inspect --format {{.State.Pid}} kayako-dashboard)
nsenter --target $PID --mount --uts --ipc --net --pid /bin/sh

2)使此脚本全局可用sudo ln -s /full/path/to/script1.sh /usr/local/bin/some_new_command

3)通过在command="some_new_command"文件中的ssh-rsa之前添加authorized_keys来调整目标ssh密钥。

但是当我在目标用户下登录时

sshpass -p <user_password> ssh <target_user>@<docker_host> "some_new_command"

我收到了错误Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock

有什么问题,有什么办法可以解决吗?

我的内核版本是4.4.0,所以它支持输入pid命名空间。

nsenter版本:nsenter from util-linux 2.27.1

P.S。即使我将<target_user添加到docker组并尝试执行some_new_command,我也收到了错误:nsenter: cannot open /proc/<PID>/ns/ipc: Permission denied

P.P.S。如果我使用sudo some_new_command正在执行罚款。

0 个答案:

没有答案