[Mac] 編輯 crontab 時,出現 Operation not permitted 錯誤訊息

[Mac] 編輯 crontab 時,出現 Operation not permitted 錯誤訊息

今天在 macOS Mojave 10.14.6 上,想編輯一下 cron job,

結果編輯完關閉 vim 儲存時,卻出現錯誤訊息,

無法將修改的東西寫入 crontab 中:

testuser@localhost ~ $ crontab -e

crontab: installing new crontab
crontab: tmp/tmp.30692: Operation not permitted
crontab: edits left in /tmp/crontab.c5kQeAOIFC

 

查了一下,是因為 Mac 的保護機制,

必須要打開終端機的 Full Disk Access 權限才行~

 

方法 1:將終端機軟體加上 Full Disk Access 權限

打開 System Preferences > Security & Privacy > Full Disk Access,

結果看到我平常在用的終端機軟體 iTerm 早就在裡面了?

但我在 iTerm 裡執行 crontab -e 還是無法儲存的,

就算關閉重開 iTerm 也一樣…

於是先按減號將 iTerm 移除,並關閉 System Preferences 確保它有儲存下來:

 

接著重新進入 System Preferences,把 iTerm.app 加進 Full Disk Access 裡面,

並同時關閉 iTerm,因為重開時才會有對應的權限:

 

重開之後,再執行 crontab -e,

就可以成功儲存了:

testuser@localhost ~ $ crontab -e

crontab: installing new crontab

 

方法 2:使用 SSH

這是一個比較怪的方法,可是不需要改設定,也不需要管理者權限。

因為 sshd 本來就已經被賦與 Full Disk Access 的權限,

所以我們可以 ssh 本機,用原本的帳號登入:

ssh localhost

 

之後,執行 crontab -e 也是可以正常儲存,沒有問題囉~

 

參考資料:mac osx – OSX mojave: “crontab: tmp/tmp.X: Operation not permitted” – Server Fault

(本頁面已被瀏覽過 21 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料