Joa*_*cao 21 mac-osx update cron file-permissions
将我的 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/
Run Code Online (Sandbox Code Playgroud)
与那台计算机不同,我在下面尝试进行的任何 sudo 更改/private/var/at
(例如sudo touch test
)都会得到“不允许操作”。不仅/private/var
如此,我还可以 sudo 更改任何内容(如我在内部测试的有限且明显的更改类型/private/var/at
,而不是任何内容)。
有些东西阻止我更改内容,/private/var/at
我认为这是导致 crontab 错误消息的原因,因为crontab
无法写入/private/var/at/tmp
和创建错误消息中报告的 tmp crontab 文件。
我知道 crontab 不是 OSX 中的首选方法,但这不是这个问题的重点。
另一种不需要任何权限更改的方法,它依赖于sshd
已经为“完整磁盘访问”启用的事实,是通过 ssh 执行 crontab 更新到本地主机(前提是在共享系统首选项中启用了远程登录/ssh),例如:
ssh localhost
crontab -e
Run Code Online (Sandbox Code Playgroud)
小智 7
我不得不添加cron
到系统偏好设置 > 安全和隐私 > 全盘访问
/usr/sbin/cron
. (您可以cron
通过$ which cron
在终端中运行来检查您的可执行位置)]
归档时间: |
|
查看次数: |
8607 次 |
最近记录: |