在 CentOS(以及大多数 Linux 发行版)里,spool 目录通常指 /var/spool,用于存放系统或服务的临时/排队数据(如 mail、cron、print、at 等)。
权限设置的核心原则是:保证对应服务能读写,但不应随意 777,避免安全风险。
下面按常见场景说明。
一般默认权限:
drwxr-xr-x root root /var/spool
不要随意改 /var/spool 本身权限,否则会影响系统服务。
/var/spool/cron
默认:
drwx------ root root
用户任务文件:
-rw------- 用户名 cron 用户名
如需修复:
chown root:root /var/spool/cron
chmod 700 /var/spool/cron
/var/spool/mail
默认:
drwxrwxr-x root mail
用户邮件文件:
-rw-rw---- 用户名 mail 用户名
修复示例:
chown root:mail /var/spool/mail
chmod 1775 /var/spool/mail
/var/spool/at
默认:
drwxr-x--- root daemon
修复:
chown root:daemon /var/spool/at
chmod 750 /var/spool/at
/var/spool/cups
默认:
drwx------ lp lp
不要手动改,除非打印异常。
CentOS 默认开启 SELinux,即使权限正确也可能无法访问。
查看:
getenforce
查看 spool 上下文:
ls -Z /var/spool
恢复默认上下文:
restorecon -Rv /var/spool
chmod 777 /var/spool/mail
❌ 会导致:
restorecon例如程序自己用:
/opt/app/spool
建议:
chown appuser:appuser /opt/app/spool
chmod 750 /opt/app/spool
如 SELinux 开启:
semanage fcontext -a -t var_spool_t "/opt/app/spool(/.*)?"
restorecon -Rv /opt/app/spool
/var/spool 不要整体乱改权限,按服务分别设置子目录属主和权限,并注意 SELinux。
如果你能说明:
我可以给你精确命令。