一些高级 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 权限问题。
请注意,这仅针对高级 Mac 用户。如果您不使用 cron 并且遇到与权限相关的问题,那么您将不想进行任何这些修改。
如何在 MacOS 中授予 cron 完全磁盘访问权限
如果 cron 在最新版本的 MacOS 中有权限问题,您将需要授予 cron 在 Mac 上的完整磁盘访问权限。以下是如何做到这一点:
- 从 Apple 菜单打开系统偏好设置,然后选择“安全和隐私”
- 转到“隐私”选项卡,然后从侧面菜单选项中选择“全盘访问”
- 单击角落的锁定图标并使用管理员密码进行身份验证以授予修改全盘访问设置的权限
- 现在从 MacOS 的 Finder 中,下拉“Go”菜单并选择“Go To Folder”
- 输入路径:/usr/sbin/cron 然后选择 Go
- 将“cron”拖放到具有完整磁盘访问权限的应用程序和进程列表中,“cron”现在应该出现在列表中
- 完成后关闭系统偏好设置和打开的 Finder sbin 窗口
当您在同一设置部分时,您可能还想将终端应用程序添加到全盘访问选项以修复“不允许操作”终端错误,MacOS 中的新安全措施也可能遇到这种错误,也许 smbd如果您依赖它进行联网,也是如此。
如前所述,这仅适用于高级用户,如果您不确切知道自己在做什么以及为什么要这样做,则不应授予应用程序、进程或任何其他完全磁盘访问权限。Cron 能够在 Mac 后台自动运行具有完全根访问权限的进程,这具有明显的合法用途和安全隐患,因此如果您不是特别需要该功能,则不应调整此设置。
您随时可以在 MacOS 中通过返回设置并进行相应调整来撤销全盘访问。同样,您也可以调整和控制哪些应用程序可以访问 Mac 上的文件和文件夹。大多数用户最好不要使用这些安全功能,但高级用户通常会调整这些设置以适应计算机上的特定应用程序和活动。
Cron 非常强大,它可以用于各种自动化、备份、脚本和其他高级活动,您可以随时检查 crontab 中的脚本并更改默认的 crontab 编辑器(如果您也愿意)。
这是否有助于解决您在新版 Mac OS 上遇到的任何 cron 问题?您对 cron 有什么特别的提示或技巧吗?在 Mac猫(macmao.com) 分享您的想法和经验。
免责声明
部分内容(图片、文章)翻译/转载自国内外资讯/自媒体平台。文中内容不代表本站立场,如有侵权或其它,请联系 macmao.com@gmail.com,我们会第一时间配合删除。(转载请注明来源自:www.macmao.com)