/tmp用于存储临时文件,系统重启后通常清除,现代系统多用tmpfs挂载于内存以提升速度。通过systemd-tmpfiles机制可配置自动清理策略,如/etc/tmpfiles.d/中设置L /tmp 1777 root root 10d表示10天后清理旧文件。手动清理执行sudo systemd-tmpfiles --clean。需确保权限为1777,命令为sudo chmod 1777 /tmp。为防内存耗尽和增强安全,可在/etc/fstab中挂载tmpfs并限制大小与权限:tmpfs /tmp tmpfs defaults,noexec,nosuid,nodev,size=2G 0 0,后执行sudo mount -o remount /tmp生效。合理配置可提升系统安全与性能。

Linux系统中的临时目录
/tmp用于存放临时文件,很多程序在运行时会创建临时数据存放在这个目录中。合理管理
/tmp对系统安全和性能都很重要。下面介绍其管理机制和常见操作方式。
tmp目录的作用与特点
/tmp是所有用户和程序都可以读写的地方,系统重启后内容通常会被清除。它适合存放生命周期短的临时文件。部分系统也使用
/var/tmp,其内容在重启后可能保留。
现代Linux发行版通常将
/tmp挂载为内存文件系统(tmpfs),这意味着文件实际存储在内存或swap中,速度快,但断电后丢失。
自动清理临时文件
系统通过
systemd-tmpfiles机制定期清理过期的临时文件。配置文件位于
/etc/tmpfiles.d/和
/usr/lib/tmpfiles.d/。
例如,配置文件中的一行:
L /tmp 1777 root root 10d表示
/tmp目录权限为1777,属主属组为root,且会自动清理10天前的文件。
手动触发清理可运行:
sudo systemd-tmpfiles --clean设置tmp目录权限
确保
/tmp具有正确的权限(1777),即
rwx对所有用户开放,并设置sticky位,防止用户删除他人文件。
检查权限:
ls -ld /tmp修复权限(如需要):
sudo chmod 1777 /tmp限制tmpfs大小与安全挂载
为防止内存耗尽,可以在
/etc/fstab中限制
/tmp的大小并增强安全性: tmpfs /tmp tmpfs defaults,noexec,nosuid,nodev,size=2G 0 0
说明:
- noexec:禁止执行程序,提升安全
- nosuid:忽略setuid/setgid位
- nodev:不允许设备文件
- size=2G:限制最大使用2GB内存
修改后需重新挂载生效:
sudo mount -o remount /tmp基本上就这些。合理配置
/tmp能提升系统稳定性和安全性,关键是启用自动清理、正确权限和安全挂载选项。










