我正在将我的 LXD 容器配置为以非特权身份运行 root。
我如何检查它们是否确实如此运行?
ps -ef
主机上显示容器中运行的所有进程都遵循模板就够了吗
165536 5284 1104 0 12:19 ? 00:00:00 /usr/sbin/sshd -D
(第一个元素是 uid)
还是有一个lxc
参数可以显示容器的“特权级别”?
我正在将我的 LXD 容器配置为以非特权身份运行 root。
我如何检查它们是否确实如此运行?
ps -ef
主机上显示容器中运行的所有进程都遵循模板就够了吗
165536 5284 1104 0 12:19 ? 00:00:00 /usr/sbin/sshd -D
(第一个元素是 uid)
还是有一个lxc
参数可以显示容器的“特权级别”?
是的,足以让您看到您的 UID 与您的主机中的 root 用户和其他用户对于在您的容器中运行的进程不同。(setuid/setgid 映射魔法)
您链接到的页面描述的是 lxc 而不是 lxd。lxd 本质上是一个守护进程,它以更高级别/更方便的方式提供对 lxc 功能的访问。我相信 lxd 的答案是:
如果显示为“真”,则容器是特权容器,否则不是。
根据stgraber 的帖子,您还可以通过运行以下命令来查询特权容器集:
也可以通过以下检查从 LXD 容器内部检查容器是否没有特权:
/proc/self/uid_map
/proc/self/gid_map
它将显示类似的内容(root
0
映射到 user1000000
):(假设
/etc/subuid
&/etc/subgid
在容器主机上正确配置)这些值可由
root
非特权用户或非特权用户读取。