答案1
将其设为单独分区的一个常见原因是能够将其挂载为nosuid
和noexec
。这分别可以防止从 /tmp 升级权限和执行任意脚本。这在多用户环境(例如托管)中特别有用,在这种环境中,非特权用户可以访问 /tmp 的读/写数据,但不应能够执行这些操作。
另一个理由是限制存储的临时数据量(因为并非所有数据都会自行清理),以防止其他更重要的分区被填满并导致服务中断和/或数据丢失。
答案2
从安全角度来看,这也是有道理的。由于许多程序会将临时文件写入/tmp
并/tmp
自动清除(使用不安全的文件删除),这意味着很多已删除但可恢复文件仍驻留在/tmp
分区上。如果您隔离此分区并使其变小,则更容易安全地清理它,例如sfill
使用包裹secure-delete
。
答案3
当 tmp 位于单独的分区时:
- 您可以在多启动环境中的多个 Linux 发行版之间共享 tmp,并节省磁盘空间
- tmp 可以从 RAID 设置中排除(RAID 磁盘空间非常宝贵)
- tmp 可以驻留在比 root 更快的介质上(即 RAM 磁盘、SSD 磁盘)
- tmp 可以驻留在不易磨损的介质上(即根目录位于闪存盘上,tmp 位于常规磁盘或 RAM 盘上)
- tmp 可以驻留在单独的磁盘驱动器上(以分散工作负载)
- 如果需要更大的空间,可以将 tmp 安装在不同的分区/磁盘上,而不会影响系统的其余部分,只需在 /etc/fstab 中编辑一行即可