无 Setuid 的 Apptainer
分布式、并行与集群计算
2023-09-26 v3
摘要
Apptainer(前称Singularity)自起初便借助setuid-root程序实现诸多容器特性。它仍支持该模式,但自1.1.0版起默认不再使用setuid。这可行是因为其现可使用无特权用户命名空间与FUSE挂载squashfs文件系统、ext3文件系统和overlay文件系统。它现还使无特权用户能够构建容器,甚至无需系统管理员配置/etc/subuid与/etc/subgid,不同于其他“rootless”容器系统。因此,所有无特权功能可在另一容器内部嵌套使用,即便容器运行时阻止任何提升的特权。自1.2.0版起Apptainer亦支持对Singularity Image Format (SIF)容器文件的完全无特权加密。使用具挑战性的HEP基准测试,基于FUSE的挂载在有加密与无加密下的性能与先前需提升特权使用Linux内核对应物的方法基本无异。
引用
@article{arxiv.2208.12106,
title = {Apptainer Without Setuid},
author = {Dave Dykstra},
journal= {arXiv preprint arXiv:2208.12106},
year = {2023}
}