掌控你的電腦的自由

最近觀摩了一下同事所寫的 Ansible playbook,能夠自動啟動多個 AWS EC2 實體,果然精妙。當中討論到為何在某個設定為何要把 Python 的路徑設為 /usr/local/bin/python,而非一般的 /usr/bin/python 時,同事回答說因為 Mac OS 的 Python 版本太舊,無法跑某些 task,不這樣設的話,Ansible 預設只會用 Mac OS 的版本。然後我就很白目地問了:

為什麼不把 /usr/bin/python 砍掉,然後建一個 symlink 指向新版本?

身為一個 Linux 的使用者,會做這樣類似的事情是很正常的;例如在安裝完 ubuntu 後,我習慣會把 /bin/sh 砍掉,重新指向到 /bin/bash。但是同事回我說不行,在 Mac OS 下,你不能動 /usr/bin 目錄下的內容,即使你是 root 也不行。

蛤???我沒聽錯吧?

後來查了一下,原來這招叫做 System Integrity Protection[1]。

=> 1: https://en.wikipedia.org/wiki/System_Integrity_Protection

我可以理解,這樣做的原因是為了安全性考量,如果是一般不懂資安的使用者,那也就算了;但對於 power user 而言,大家都是專業人士,這樣做我只覺得不可思議。我了解我在做什麼事情,我也體認到會有什麼樣的風險,也取得 root 權限了,我要對我的電腦做什麼事是我的自由,為何要剝奪我的自由?

固然資安非常重要,但根本之道應該是要教育使用者要有資安意識;身為你所購買電腦的主人,你有責任要維持電腦的正常運作不是嗎?要經常安裝重大安全性更新,不隨便亂執行來路不明的軟體,不隨便亂點奇怪的網站……這樣才能讓你的電腦永保安康;而不是硬生生地直接把使用者掌控電腦的權力拿掉,這根本是因噎廢食的作法。若使用者缺乏正確的觀念,你限制再多也無法阻止電腦被駭客入侵。

Proxy Information
Original URL
gemini://ramax.flounder.online/gemlog/2017-01-16-freedom-controlling-your-machine.gmi
Status Code
Success (20)
Meta
text/gemini; charset=utf-8
Capsule Response Time
645.255779 milliseconds
Gemini-to-HTML Time
0.348348 milliseconds

This content has been proxied by September (3851b).