如何修复 macOS Big Sur 中的 Cron 权限问题
目录:
一些高级 Mac 用户可能已经注意到,某些带有 cron、cron 作业和 crontab 的 shell 脚本要么根本不工作,要么无法在最新版本的 MacOS 中正常运行,尤其是 Mojave 10.14 、Catalina 10.15、macOS Big Sur 11 及更高版本。根据具体情况,这可能伴随着权限错误、操作不允许错误,或者脚本或 cronjob 可能只是在后台无提示地失败。虽然 cronjob 可能失败的原因有很多,但最新 MacOS 版本中严格的安全措施也可能有问题并给某些用户带来问题。
本文将逐步解决最新版本MacOS(包括macOS Big Sur、Catalina 和Mojave)的cron 权限问题。
ote 这仅针对高级Mac 用户。如果你不使用 cron 并且有与权限相关的问题,那么你将不想进行任何这些修改。
如何在MacOS 中授予cron 完全磁盘访问权限
如果cron 在最新版本的MacOS 中存在权限问题,您需要授予cron 在Mac 上的完整磁盘访问权限。方法如下:
- 从 Apple 菜单打开系统偏好设置,然后选择“安全和隐私”
- 转到“隐私”选项卡,然后从侧面菜单选项中选择“全盘访问”
- 单击角落的锁定图标并使用管理员密码进行身份验证以授予修改全盘访问设置的权限
- 现在在MacOS 的Finder 中,下拉“前往”菜单并选择“前往文件夹”
- 输入路径:/usr/sbin/cron,然后选择Go
- 将“cron”拖放到具有完整磁盘访问权限的应用程序和进程列表中,“cron”现在应该出现在列表中
- 完成后关闭系统偏好设置和打开的Finder sbin窗口
当您处于同一设置部分时,您可能还想将终端应用程序添加到“全盘访问”选项以修复“不允许操作”的终端错误,新程序也可能遇到这种错误MacOS 中的安全措施,如果您依赖它进行联网,也许还有 smbd。
如前所述,这仅适用于高级用户,如果您不确切知道自己在做什么以及为什么要这样做,则不应授予应用程序、进程或其他任何完全磁盘访问权限正在做。 Cron 能够在 Mac 的后台自动运行具有完全根访问权限的进程,这具有明显的合法用途和安全隐患,因此如果您不是特别需要该功能,则不应调整此设置。
您随时可以在MacOS 中通过返回设置并进行相应调整来撤销全盘访问。同样,您还可以调整和控制哪些应用可以访问 Mac 上的文件和文件夹。大多数用户最好不要使用这些安全功能,但高级用户通常会调整这些设置以适应计算机上的特定应用程序和活动。
Cron 非常强大,它可用于各种自动化、备份、脚本和其他高级活动,您可以随时检查 crontab 中的脚本并根据需要更改默认的 crontab 编辑器也。
这是否有助于解决您在新版本的 Mac OS 上遇到的任何 cron 问题?您对 cron 有什么特别的提示或技巧吗?在评论中分享您的想法和经验。