一个伪linux粉丝的blog
  1. 首页
  2. Uncategorized
  3. 正文

fix-crontab-operation-not-permitted-on-mac

2020年10月16日 393点热度 0人点赞 0条评论

没事每天换个桌面壁纸,这是我最常干的事了,windows下的小工具用了几年了,mac下之前有个脚本找不到了,最近发现壁纸很久没更新了,于是重新找了一个bing-wallpaper脚本,手动执行正常,放crontab下,定时执行就报错

13 13 * * * cd $HOME/Documents/ && ./bing-wallpaper.sh >/tmp/stdout.log 2>/tmp/stderr.log

问题现象

报错  /bin/bash: ./bing-wallpaper.sh: Operation not permitted,

看了好几眼文件权限,都是正常的,有执行权限,文件分组也是正常的。

% ls -l bing-wallpaper.sh
-rwxr-xr-x 1 wanjie staff 3147 10 15 12:46 bing-wallpaper.sh

差异

ps. 诡异的是同样计划任务,家里的iMac 系统 10.15.6,执行正常, 这台Macbook 系统是 10.15.4 ,眼看解决不了,

搜索了一下,找到这篇 https://onns.xyz/blog/2020/06/10/fix-crontab-operation-not-permitted-on-mac/ 原来是系统更新后磁盘权限问题。

再次查看家里电脑,原来是早就关闭了SIP,源头上避免了这个问题出现,哈哈。

检查SIP状态命令 csrutil status

得到结果 System Integrity Protection status: disabled.

界面查看SIP情况

解决方法

#赋予Full Disk Access权限

  1. 打开系统偏好设置 -> 安全性与隐私 -> 隐私。
  2. 找到完全磁盘访问权限。
  3. 点击左下角的锁头🔒解锁更改权限,输入密码。
  4. 点击添加按钮,在弹出的文件浏览页面按住cmd+shift+G,输入/bin,点击go来到/bin目录并选择zsh,添加。
  5. 同理在/usr/sbin/目录下找到cron,添加,如下图。

测试下来,似乎拿掉 bash,只保留新加的 cron 磁盘权限即可。

到了设定时间,首次执行时会弹出这个权限许可,同意即可。

查看cron临时日志,有类似下载成功过程日志输出
% cat /tmp/stderr.log
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100  336k  100  336k    0     0  1945k      0 --:--:-- --:--:-- --:--:-- 1945k
% cat /tmp/stdout.log
Downloading: OHR.WorldFoodDay_ZH-CN0834763150_1920x1080.jpg...

桌面也看到直接更新,问题解决。

Related posts:

  1. 试用google开源mod_pagespeed 模块
  2. crontab log error
  3. vps内存问题1
  4. 盛大旅游并购游玩网
标签: crontab sip
最后更新:2020年10月17日

WanJie

正经人谁写博客啊?你写博客吗?写出来的那能叫博客?

点赞
< 上一篇
下一篇 >

文章评论

取消回复

分类
  • network
  • Uncategorized
  • unix/linux
  • 业界资讯
  • 公司杂事
  • 数码影像
  • 美剧
  • 美图共赏
  • 英语学习

COPYRIGHT © 2008-2021 一个伪linux粉丝的blog. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS