ユーザーの下でcronジョブを設定しようとしています。 crontab -eを実行して編集し、保存して終了します。次のエラーメッセージ__/var/spool/cron/: mkstemp: Permission denied
_が表示されます。
Ls -al/var/spool/cron/crontabsからの関連出力
_drwxr-xr-x 2 root crontab 4096 Nov 4 10:09 .
drwxr-xr-x 5 root root 4096 Nov 19 2014 ..
-rw-rw-rw- 1 greg crontab 91 Nov 4 11:04 greg
-rw------- 1 root crontab 1231 Oct 29 16:18 root
_
集約ファイルを直接編集して保存できますが、更新後にcronを再起動しても、ジョブを実行できないようです。この問題を解決するにはどうすればよいですか?
ls -lha $(which crontab)
からの出力は次のとおりです。
_-rwxr-sr-x 1 root crontab 36K Feb 8 2013 /usr/bin/crontab
_
_groups greg
_からの出力は次のとおりです。
_greg : greg adm Sudo crontab lpadmin sambashare
_
これはあなたの差し迫った問題を修正します:
chmod u=rwx,g=wx,o=t /var/spool/cron/crontabs
ただし、パッケージをダウンロードできる場合、これを修正するより堅牢な方法は、apt-get
を使用して適切なパッケージを再インストールすることです。
root@ubuntu# dpkg-query -S /var/spool/cron/crontabs
cron: /var/spool/cron/crontabs
root@ubuntu# apt-get install --reinstall cron
最初に、/etc/init/cron.conf
、/etc/default/cron
などに加えたローカルの変更を確認した後、どこかにコピーしてから再適用します。
Mark Plotnickが述べた解決策は私にとってはうまくいきませんでしたが、crontab
グループにユーザーを追加した後、うまくいきました:
Sudo adduser myname crontab
この変更を適用するには、ログアウトして再度ログインする必要があります。