当我运行“crontab -e”时,我得到:
/usr/bin/editor: line 40: /tmp/crontab.BTXqyZ/crontab: Permission denied
/usr/bin/editor: line 40: exec: /tmp/crontab.BTXqyZ/crontab: cannot execute: Success
crontab: "/usr/bin/editor" exited with status 126
crontab -e 几个月前运行良好。我几个月前设置的 cron 作业仍然成功运行。
我想为另一个程序创建一个新的 cronjob 但出现了上述错误……
答案1
您遇到了权限问题。您的/tmp
目录可能已安装noexec
,但出于某种原因,您的 cron 版本不喜欢这样,/tmp
可能对它设置了某种愚蠢的权限(应该是1777
),您的/usr/bin/editor
目录已陷入困境,或者/usr/bin/editor
指向的任何内容都可能同样损坏。我会/usr/bin/editor
在其他东西上进行测试以消除问题的根源,然后去解决/tmp
。
答案2
可能是 /tmp 访问模式错误。使用以下命令检查ls -dla /tmp
tmp 的正确模式是 1777 (drwxrwxrwt)
$ ls -dla /tmp drwxrwxrwt 7 root root 4096 1 月 12 日 00:00 /tmp
用 来纠正sudo chmod 1777 /tmp
。1 是粘性位http://en.wikipedia.org/wiki/Sticky_bit7 表示用户、组和世界的读写执行权限