在 Debian 系统中,“spool” 通常指后台任务和数据缓冲目录(如 /var/spool),包括:
/var/spool/cron/ —— cron 任务/var/spool/mail/ 或 /var/mail/ —— 邮件/var/spool/cups/ —— 打印任务/var/spool/postfix/ —— 邮件队列/var/spool/rsyslog/ —— 日志缓冲/var/spool/apt/ —— 包管理缓存这些目录常被提权和信息泄露利用,因此需要安全加固。
典型安全权限:
/var/spool 755 root:root
/var/spool/cron 700 root:root
/var/spool/mail 1777 root:root (带 sticky bit)
检查命令:
ls -ld /var/spool/*
/var/spool/cron
✅ 安全配置:
chmod 700 /var/spool/cron
chown root:root /var/spool/cron
✅ 限制用户使用 cron:
/etc/cron.allow # 白名单
/etc/cron.deny # 黑名单
示例(仅允许 admin):
echo admin > /etc/cron.allow
✅ 禁用普通用户 cron(如不需要):
chmod 0 /usr/bin/crontab
/var/mail 或 /var/spool/mail
✅ 正确权限:
chmod 1777 /var/mail
chown root:root /var/mail
✅ 防止用户读取他人邮件:
600chmod 600 /var/mail/username
/var/spool/cups
✅ 建议:
chmod 700 /var/spool/cups
chown root:lp /var/spool/cups
✅ 如果不使用打印:
systemctl disable cups
rm -rf /var/spool/cups/*
/var/spool/postfix
✅ 不要手动改权限,使用:
postfix set-permissions
✅ 限制访问:
chmod 750 /var/spool/postfix
/var/spool/apt
✅ 默认安全,但建议:
chmod 700 /var/spool/apt
mount -t tmpfs tmpfs /var/spool/cron
或 /etc/fstab:
tmpfs /var/spool/cron tmpfs defaults,noexec,nosuid,nodev 0 0
对不需要执行的 spool:
/etc/fstab
/var/spool none bind,noexec,nosuid,nodev
apt install auditd
监控 cron spool:
auditctl -w /var/spool/cron -p wa -k cron_spool
find /var/spool -type f -perm -002
发现 world-writable 文件立即处理。
| 项目 | 建议 |
|---|---|
| 权限 | 最小权限 |
| 属主 | root 或服务用户 |
| 执行 | 尽量 noexec |
| 审计 | auditd |
| 清理 | 定期删除废弃 spool |
for d in cron mail cups apt; do
chown root:root /var/spool/$d
chmod 700 /var/spool/$d
done
如果你有具体场景(如:服务器 / 桌面 / 容器 / 云主机),我可以给出针对性加固方案。