Mac-Osx

OSX mojave:“crontab:tmp/tmp.X:不允許操作”

  • April 14, 2020

將我的 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/

與那台電腦不同,我嘗試在下面進行的任何 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 中的首選方法,但這不是這個問題的重點。

簡短的回答:

轉到系統偏好設置 > 安全和隱私並授予對終端的全盤訪問權限。

答案

  1. 下拉Apple菜單並選擇“系統偏好設置”
  2. 選擇“安全和隱私”控制面板
  3. 現在選擇“隱私”選項卡,然後從左側菜單中選擇“全盤訪問”
  4. 點擊首選項面板左下角的鎖定圖示並使用管理員級別登錄進行身份驗證
  5. 現在點擊$$ + $$加號按鈕添加具有完整磁碟訪問權限的應用程序
  6. 導航到 /Applications/Utilities/ 文件夾並選擇“終端”以授予終端全盤訪問權限
  7. 重新啟動終端,“不允許操作”錯誤消息將消失

引用自:https://serverfault.com/questions/954586