Cron
crontab 在 fopen 中列出或編輯結果:權限被拒絕
最近,配置為從使用者的 crontab 執行的作業停止執行。嘗試為使用者列出或編輯 crontab 時,結果是:
user@host:~$ crontab -l crontabs/user/: fopen: Permission denied user@host:~$ crontab -e crontabs/user/: fdopen: Permission denied
顯然它與權限相關,儘管我不確定權限是如何更改的——更重要的是,它們應該設置為什麼。
/usr/bin/crontab 的權限:
$ ll /usr/bin/crontab -rwxr-sr-x 1 root libuuid 35896 Aug 24 2010 /usr/bin/crontab*
/var/spool/cron/crontab 目錄的權限:
# ll /var/spool/cron/ total 12 drwxr-xr-x 3 root root 4096 Oct 12 2010 ./ drwxr-xr-x 7 root root 4096 Jun 5 20:51 ../ drwx-wx--T 2 root libuuid 4096 Jan 10 2014 crontabs/
crontab 目錄中的權限:
# ll /var/spool/cron/crontabs/ total 16 drwx-wx--T 2 root libuuid 4096 Jan 10 2014 ./ drwxr-xr-x 3 root root 4096 Oct 12 2010 ../ -rw------- 1 1017 libuuid 1120 Dec 3 2013 -rw------- 1 root libuuid 1342 Jan 10 2014 root
發行資訊:
# cat /etc/*-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=10.10 DISTRIB_CODENAME=maverick DISTRIB_DESCRIPTION="Ubuntu 10.10"
/usr/bin/crontab 的權限應該是:
owner=root group=root perms= 4755 (rws rx rx)
您的 /usr/bin/crontab 有錯誤的組所有者。此外,它具有它必須具有的 sgid 和 NOT suid。
如果您具有超級使用者訪問權限,則可以編輯您的使用者 crontab,而無需修改權限:
$ sudo crontab -u username -e
crontab
我認為您可以在不使用 sudo 的情況下編輯您的使用者 crontab,但即使在將自己添加到組之後,我也會遇到與您相同的權限問題。我使用者的 crontab(/var/spool/cron/crontabs
) 中的權限是-rw-------
,組是crontab
。