在非特权 lxcontainer 之间共享 unix 套接字

在非特权 lxcontainer 之间共享 unix 套接字

我有两个非特权容器,我想在它们之间共享一个 unix 套接字。每个容器在主机上都有自己的用户,并具有单独的 subuid 和 subguid 映射。

我尝试在容器中创建组并将它们映射到主机上的一个组。然而,这不起作用。我不想创建额外的用户,以使涉及的用户数量和潜在的安全漏洞尽可能小,而不会将容器相互暴露。

答案1

Unix 套接字的行为与 IP 套接字完全相同,但地址是文件路径。容器所需要做的就是查看套接字地址=文件路径。不检查 UID 权限。我还没有尝试过(我稍后会解释原因),但共享挂载命名空间应该足够了;如果不是那么也许IPC?

也许你的意思是命名管道?检查命名管道的 UID 访问权限,但您可以使用文件访问控制列表来允许映射用户的访问

mkfifo abc; setfacl -m u:12345:rw abc; setfacl -m u:23456:rw abc

使用 unix 套接字没有意义的原因是它们并不比 IP 套接字更快或更安全。所以真正的问题是为什么你需要 unix 套接字来进行通信?

相关内容