以非 root 用户身份使用 linux 命名空间的方法和风险是什么?

以非 root 用户身份使用 linux 命名空间的方法和风险是什么?

我知道unshare并且nsenter是使用 Linux 命名空间的用户空间工具。由于我尽可能避免在启用根权限的情况下工作,因此我经常遇到这些工具的麻烦,unshare导致我产生一些“权限被拒绝”。

我会首先想知道如何才能使这些工具可供非 root 用户使用吗?

其次,我还会被告知我可能会分阶段使命名空间可供非 root 用户使用哪些风险或问题(在安全方面)?

我目前与这个问题相关的部分知识是,随着用户命名空间内核功能使得非 root 用户可以首先创建一个新的用户命名空间,其中该用户将是 root,因此随后可以从该用户命名空间内嵌套地创建用户命名空间。

如果能够提出并讨论这个问题的答案,将会很有帮助其他方法为非 root 用户启用名称空间(即网络、ipc、mount、pid 等),即不使用用户名称空间(当前可能未在所有 Linux 发行版中启用)。我想代理 setuid 程序可能允许使用非 root 的命名空间,同时不易泄漏特权?也许这甚至可以sudo通过编辑在著名的工具中实现/etc/sudoers

另外背景 我希望能够为非 root 用户使用命名空间的一个原因是,我可以在没有竞争条件的情况下跟踪子进程和后代进程,因为它们会不守规矩,双叉,否则就会setgpid()退出进程树。这就是说,虽然我对如何以非 root 用户身份使用 savely linux 命名空间的一般情况感兴趣,但我也希望得到任何提示,即使它只启用了 pid 命名空间。

相关内容