jail的手册页说, allow.sysvipc使“系统V原语[在]主机和监狱环境中共享一个命名空间…”,因此“…在监狱内的进程将能够与… …在监狱之外的进程以及其他监狱里。“
这有什么实际的安全影响? 最极端的解释意味着当使用这个选项时,在整个监狱基础设施内几乎没有有效的安全措施。 (如果进程可能干扰主机和其他监狱的其他进程并与之通信,那为什么还要打扰监狱呢?)
所以,事实certificate,这种极端的解释是正确的 。 允许sysvipc“ ……击败监狱的全部目的;来自监狱的特权用户将能够影响监禁环境以外的进程。
更新2010年8月3日:经过一些偶然的研究,我已经能够充实一些细节。 问题源于这样一个事实,即进程权限是基于UID的(请注意,这意味着数字,而不是string标识符)。 所以,尽pipe主机和监狱的用户空间是相互独立的,但是这个部门并不是铁皮的,而且根目录的UID为0,我们可以得到上面的报价。 一些选项,以尽量减less风险: