在 CentOS(以及 RHEL 系列)中,spool 目录通常指 /var/spool 及其子目录(如 /var/spool/mail、/var/spool/cron、/var/spool/postfix 等)。这些目录用于存放队列数据(邮件、定时任务、打印等),权限设置非常重要,设置不当会导致服务异常或安全风险。
下面分几个层面说明。
/var/spooldrwxr-xr-x root root /var/spool
一般保持默认即可。
/var/spool/mail
drwxrwxr-x root mail
/var/spool/mail/<user>
-rw-rw---- <user> mail
用户邮件文件必须是:
660/var/spool/cron
drwx------ root root
/var/spool/cron/<user>
-rw------- <user> root
/var/spool/cups
drwxr-x--- root lp
/var/spool/postfix
drwxr-xr-x root root
子目录权限由 postfix 自己管理,不要手动改。
chown user:mail /var/spool/mail/user
chmod 660 /var/spool/mail/user
chown root:mail /var/spool/mail
chmod 1777 /var/spool/mail
1777= 所有人可写 + sticky bit(防止删除别人文件)
即使权限正确,SELinux 类型不对也会导致失败。
查看:
ls -Z /var/spool/mail
正确类型通常是:
mail_spool_t
修复:
restorecon -Rv /var/spool/mail
原因:
解决:
chown user:mail /var/spool/mail/user
chmod 660 /var/spool/mail/user
restorecon /var/spool/mail/user
原因:
/var/spool/cron 权限不是 700600修复:
chmod 700 /var/spool/cron
chmod 600 /var/spool/cron/username
✅ 不要随意 777
✅ 尽量使用系统默认权限
✅ 改完用 restorecon 修复 SELinux
✅ 用 rpm -V 检查是否被改坏
rpm -V cronie postfix
如果你能说明是 哪一个 spool 目录(如 mail / cron / postfix / cups),我可以给你更精确的权限和修复命令。