Security

/usr/local/bin 應該歸根使用者所有嗎?

  • March 15, 2016

包管理器Homebrew(我在 OS X 上,但我對基於 Unix 的安全性感到好奇,因為它與目錄權限有關)將所有者設置/usr/local/bin為我的使用者(root預設情況下,對嗎?),這意味著現在我可以通過簡單地將它們移動到/usr/local/binsudo不需要)來安裝執行檔。

  1. 我對此是否正確,通常/usr/local/bin由 擁有root
  2. 與普通使用者交流不是/usr/local/bin一個巨大的安全問題嗎,因為現在我執行的任何軟體都可以代表我安裝程序而無需我的密碼?

從他們的常見問題解答中,這是為了避免在安裝軟體包時必須以 root 身份從 Internet 上執行任意程式碼的危險做法。對於大多數使用者來說,這是一個合理的折衷方案 - Homebrew 通常用於單人開發機器,而不是生產多使用者伺服器。

Homebrew 的設計目的是在不使用 sudo 的情況下工作。您可以決定使用它,但我們強烈建議您不要這樣做。如果您使用了 sudo 並遇到了錯誤,那麼這很可能是原因。請不要送出錯誤報告,除非您可以在不使用 sudo 從頭開始重新安裝 Homebrew 後重現它。

你應該只 sudo 一個你信任的工具。當然,您可以信任 Homebrew ;) 但是您是否信任 Homebrew 執行的數兆字節的 Makefile?開發人員通常對 C++ 的理解遠勝於對 make 語法的理解。sudo 這樣的東西風險太大。它可能會破壞您的基本系統,或巧妙地改變它。

事實上,我們已經看到一些建構腳本嘗試修改,/usr即使前綴被完全指定為其他東西。

你吃過根/Applications/TextMate.app嗎?可能不是。那麼它有那麼重要chown root wget嗎?

如果您需要在多使用者環境中執行 Homebrew,請考慮創建一個單獨的使用者帳戶,特別是為了使用 Homebrew。

關於它為什麼不只安裝在您的 中~,請參閱前面的常見問題解答問題“為什麼 Homebrew 更喜歡我安裝/usr/local?”。

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