Apps

macOS Big Sur、Catalina、MojaveでCron権限の問題を修正する方法

macOS Big Sur、Catalina、MojaveでCron権限の問題を修正する方法

Macターミナルアイコン

Mac上級ユーザーの中には、cron、cronジョブ、crontabを使用した特定のシェルスクリプトが、最新バージョンのmacOS、特にMojave 10.14、Catalina 10.15、macOS Big Sur 11以降で全く動作しない、あるいは正常に動作しないことに気付いた方もいるかもしれません。状況によっては、権限エラーや操作が許可されていないというエラーが発生する場合もあれば、スクリプトまたはcronジョブがバックグラウンドでサイレントに失敗する場合もあります。cronジョブが失敗する理由は様々ですが、最新のmacOSリリースにおける厳格なセキュリティ対策も影響し、一部のユーザーに問題を引き起こす可能性があります。

この記事では、macOS Big Sur、Catalina、Mojave などの最新バージョンの macOS における cron 権限の問題を解決する方法について説明します。


これは上級Macユーザー向けです。cronを使用しておらず、権限関連の問題がある場合は、これらの変更は不要です。

MacOSでcronにフルディスクアクセスを許可する方法

最新バージョンのmacOSでcronの権限に問題がある場合は、Mac上でcronにフルディスクアクセスを許可する必要があります。手順は以下のとおりです。

  1.  Appleメニューからシステム環境設定を開き、「セキュリティとプライバシー」を選択します。
  2. 「プライバシー」タブに移動し、サイドメニューのオプションから「フルディスクアクセス」を選択します。
  3. 隅にあるロックアイコンをクリックし、管理者パスワードで認証して、フルディスクアクセス設定を変更する権限を付与します。
  4. MacOSのFinderから「移動」メニューをプルダウンし、「フォルダへ移動」を選択します。
  5. MacOSのcronパス

  6. パス: /usr/sbin/cron を入力し、Go を選択します。
  7. 「cron」をフルディスクアクセス権限を持つアプリとプロセスのリストにドラッグアンドドロップすると、「cron」がリストに表示されるようになります。
  8. MacOSでcronのフルディスクアクセスを許可する

  9. 終了したら、システム環境設定と開いているFinder sbinウィンドウを閉じます。

同じ設定セクションにいる間に、MacOS の新しいセキュリティ対策でも発生する可能性がある「操作は許可されていません」というターミナル エラーを修正するために、フル ディスク アクセス オプションにターミナル アプリケーションを追加することもできます。ネットワークに smbd に依存している場合は、smbd も追加する必要があるかもしれません。

MacOS での cron 権限の問題を修正

前述の通り、これは上級ユーザー向けです。何をしているのか、なぜそうするのかを明確に理解していない限り、アプリ、プロセス、その他あらゆるものにフルディスクアクセスを許可しないでください。CronはMacのバックグラウンドで、完全なルートアクセスを使用してプロセスを自動実行できます。これは明らかに正当な用途であると同時にセキュリティ上の問題も抱えているため、特にこの機能を必要としない場合は、この設定を変更しないでください。

macOSでは、設定に戻って調整することで、いつでもフルディスクアクセスを無効にすることができます。同様に、Mac上のファイルやフォルダにアクセスできるアプリも調整・制御できます。これらのセキュリティ機能は、ほとんどのユーザーにとってはそのままにしておくのが最善ですが、上級ユーザーは特定のアプリやコンピュータ上のアクティビティに合わせてこれらの設定を微調整することがよくあります。

Cron は非常に強力で、あらゆる種類の自動化、バックアップ、スクリプト、その他の高度なアクティビティに使用できます。いつでも crontab でスクリプトをチェックし、必要に応じてデフォルトの crontab エディターを変更することもできます。

この方法は、Mac OSの新しいバージョンで発生していたcronの問題を解決するのに役立ちましたか?cronに関する特別なヒントやコツがあれば教えてください。ご意見やご経験をコメント欄で共有してください。