执行yum-cron脚本遇权限拒绝,疑与此前BAD FILE MODE问题相关
解决 yum-cron 权限拒绝及 BAD FILE MODE 关联问题
你碰到的这个yum-cron权限拒绝问题,明显和之前的「BAD FILE MODE yum-cron」问题直接相关——这类问题基本都出在cron任务文件的权限配置,或者脚本本身的执行权限上,我给你整理几个关键的排查和修复步骤:
1. 检查 /etc/cron.d/0yum.cron 的权限配置
Cron对其目录下的文件权限有严格要求,正常情况下,这个文件的权限应该是 644(所有者可读可写,组和其他用户只读),所有者和组必须是 root:root。先执行命令确认当前权限:
ls -l /etc/cron.d/0yum.cron
如果权限不符合预期,执行以下命令修正:
chmod 644 /etc/cron.d/0yum.cron chown root:root /etc/cron.d/0yum.cron
2. 提取 /var/spool/mail/root 中的错误细节
这个邮件文件里记录了cron任务执行时的完整报错日志,能帮你精准定位到底是哪一步出了权限问题。执行命令查看内容:
cat /var/spool/mail/root
重点查找和 yum-cron 相关的条目,比如是否是yum-cron脚本本身没有执行权限,或者脚本调用的命令需要更高权限才能运行。
3. 验证 /etc/cron.d/0yum.cron 的内容正确性
打开这个文件确认cron任务的配置是否合理,比如指定的yum-cron路径是否存在、执行用户是否正确:
cat /etc/cron.d/0yum.cron
一个标准的yum-cron cron任务格式大概是这样的:
SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root 0 */6 * * * root /usr/sbin/yum-cron
如果文件里的执行用户不是root,或者脚本路径错误,也会直接导致权限拒绝或者执行失败。
4. 检查 yum-cron 主脚本的权限
最后确认yum-cron核心脚本的执行权限,确保它具备可执行属性:
ls -l /usr/sbin/yum-cron
正常权限应该是 755,如果权限不足,执行以下命令修复:
chmod 755 /usr/sbin/yum-cron
完成上述步骤后,你可以手动触发一次cron任务来测试是否正常:
run-parts /etc/cron.daily
或者等待下一次cron执行周期,再查看 /var/spool/mail/root 确认问题是否解决。
内容的提问来源于stack exchange,提问作者fball4life36
相关产品推荐
相关产品推荐

