以下是一些我希望对您有所帮助的输出:
nick@home-sv-1:~$ crontab -e
/var/spool/cron/crontabs/nick: Permission denied
nick@home-sv-1:~$ echo $EDITOR
emacs
nick@home-sv-1:~$ ls /var/spool/cron/crontabs
ls: cannot open directory /var/spool/cron/crontabs: Permission denied
nick@home-sv-1:~$ sudo ls -al /var/spool/cron/crontabs
total 12
drwx-wx--T 2 root crontab 4096 2009-10-25 20:45 .
drwxr-xr-x 3 root root 4096 2009-05-18 01:19 ..
-rw------- 1 root root 612 2009-10-25 01:20 root
问题:
crontab 没有 setguid,也不在 crontab 组中。
home-sv-1:~# ls -al /usr/bin/crontab
-rwxr-xr-x 1 root root 32048 2009-08-30 03:34 /usr/bin/crontab
解决方案:
作为根...
home-sv-1:~# chown root.crontab /usr/bin/crontab
home-sv-1:~# chmod g+s /usr/bin/crontab
home-sv-1:~# ls -al /usr/bin/crontab
-rwxr-sr-x 1 root crontab 32048 2009-08-30 03:34 /usr/bin/crontab
此外,值得检查 /var/spool/cron/crontabs 的权限
在我的情况下,这样做表明实际上分配给 crontab 的用户是“whoopsie”,我认为这意味着设置用户时出现了一些错误。
表演...
完全解决了这个问题:)
是否设置
/usr/bin/crontab
了setgid
权限?如果没有,
chmod g+s
它(如果需要,在此chown
之前)编辑:请注意,这只适用于 Vixie Cron(大多数发行版都使用);其他守护进程(例如
dcron
)可能使用不同的权限(setuid
)。我有同样的问题。我是这样解决的。
我希望它对你有帮助。
检查 /etc/cron.allow 和 /etc/cron.deny 文件。如果这些文件存在,请确保您的用户名在 /etc/cron.allow 中。