0

在我的 rkt 容器中尝试以 root 身份执行命令时遇到了一些问题。

我将 rkt 引擎作为 sudo 运行。在启动的容器内,我也以 root 身份登录。但似乎我不是一个“真正的”根在里面。

例如,当我尝试在我拥有的已启动进程上运行“chrt”命令时,我得到以下答案:

[root@rkt-b1e45e35-f3e7-4cc2-88ea-58d06809dd5d /]# chrt -p -f 99 25
Unable to change scheduling policy!
either run as root or join realtime group**

其他示例,当我尝试以我在容器中创建的另一个用户身份登录时,我收到以下错误消息:

[root@rkt-b1e45e35-f3e7-4cc2-88ea-58d06809dd5d /]# su toto
Bad system call

(注意:当我尝试启动“sudo”命令时,我收到了同样的消息)。

我还尝试将 toto 或 root 添加到“root”用户组或“实时”用户组,但它仍然不起作用。

其他富有表现力的示例,当我尝试(以根用户身份)chmod +w在具有以下配置的根用户拥有的文件上应用 a 时:rw-r--r--,我收到拒绝访问消息...

有关信息,rkt image cat manifest xxx我的 rkt 映像上的命令提供以下输出:

{“acKind”:“ImageManifest”,“acVersion”:“0.6.1”,“名称”:“xxxxxxxxxx”,“标签”:[{“名称”:“版本”,“值”:“最新”}, { "name": "arch", "value": "amd64" }, { "name": "os", "value": "linux" } ], "app": { "exec": [ "/bin /bash"],“用户”:“root”,“组”:“root”,“workingDirectory”:“/”,“环境”:[ { “name”:“PATH”,“value”:“/usr/local/sbin: /usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" } ] } }/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" } ] } }/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" } ] } }

您对我的问题的根源有任何想法吗?

4

1 回答 1

0

我找到了解决方案:我只需在 rkt 运行命令中添加更多“--caps-retain”参数。(默认情况下,本地伪 root 用户有很强的限制)

于 2017-06-14T14:56:26.877 回答