OSXをMojaveに更新した後、crontabを編集できなくなったようです。そうしようとすると、この質問のタイトルにエラーメッセージが表示されます。
私はcrontabを/private/var/at
まで追跡しましたが、権限はEl Capitanを実行している別のコンピューターと同じです。
/private/var/at$ ls -laO
total 0
drwxr-xr-x 8 daemon wheel - 256B Feb 18 16:47 ./
drwxr-xr-x 26 root wheel sunlnk 832B Feb 18 16:51 ../
-rw-r--r-- 1 root wheel - 0B Aug 22 22:11 at.deny
-rw-r--r-- 1 root wheel compressed 6B Aug 17 2018 cron.deny
drwxr-xr-x 2 daemon wheel - 64B Aug 17 2018 jobs/
drwxr-xr-x 2 daemon wheel - 64B Aug 22 22:11 spool/
drwx------ 4 root wheel - 128B Nov 22 12:46 tabs/
drwx------ 2 root wheel - 64B Feb 18 15:04 tmp/
/private/var$ ls -laOd at
drwxr-xr-x 8 daemon wheel - 256B Feb 18 16:47 at/
/private$ ls -laOd var
drwxr-xr-x 26 root wheel sunlnk 832B Feb 18 16:51 var/
そのコンピューターとは異なり、/private/var/at
(例:Sudo touch test
)の下で私がしようとするSudoの変更は、「操作は許可されていません」になります。 /private/var
以降では、Sudoで何でも変更できます(_anythingではなく、/private/var/at
でテストした限定的で明白なタイプの変更のように)。
/private/var/at
の内容を変更できない原因があり、crontab
が/private/var/at/tmp
に書き込んでtmp crontabを作成できないため、これがcrontabエラーメッセージの原因であると思いますエラーメッセージで報告されるファイル。
OSXでcrontabが推奨される方法ではないことは知っていますが、それがこの質問の要点ではありません。
short 答え:
[システム環境設定]> [セキュリティとプライバシー]に移動し、ターミナルへのフルディスクアクセスを許可します。
long 答え:
sshd
が「フルディスクアクセス」に対してすでに有効になっているという事実に依存する、権限の変更を必要としない別のアプローチは、ローカルホストへのsshを介してcrontab更新を実行することです(共有でリモートログイン/ sshが有効になっている場合)システム設定)例:
ssh localhost
crontab -e
サンドボックスが原因で、crontabを作成できません。 crontabコマンドを実行すると…
screen
コマンドから:screen
からログアウトするか、@ Pierzの回答を使用します。[システム設定]> [セキュリティとプライバシー]> [フルディスクアクセス]にcron
を追加する必要がありました
/usr/sbin/cron
に移動します。 (ターミナルで$ which cron
を実行して、cron
実行可能ファイルの場所を確認できます)]