Permissions
sudo chown -R $USER:admin /usr/local - 恢復到 ROOT?
這個問題以前被問過/回答過,我知道我的管理員使用者帳戶可以安全地
chown
使用/usr/local
,我已經完成了安裝git
(homebrew
使用brew install git
)。sudo chown -R $USER:admin /usr/local
現在我想知道是否應該將所有權更改回root。
誰擁有重要
/usr/local
嗎?注意:這個問題面向 macOS,但也可能適用於 Unix 系統。
讓我們從一些“歷史”開始。
/usr/local
通常用於儲存未隨基本作業系統一起安裝的使用者程序/數據。通常,當您使用 automake 從原始碼製作程序時,它們將安裝在/usr/local
. 因為主作業系統本身並不依賴這個目錄,所以權限實際上取決於管理員的偏好。現在,我們也可以從另一個角度來考慮。當您對目錄具有使用者
+r
或權限時+w
,+x
這些權限將僅適用於該目錄的所有者。通常,使用者權限高於組或所有權限,這意味著所有者/usr/local
將擁有高於其他帳戶的權限。現在,如果組和/或所有權限等於或大於該目錄上使用者的權限,那麼實際所有者是誰就不那麼重要了。因此,您需要問自己的問題是,哪些使用者將使用位於 中的“東西”
/usr/local
,您是否關心其他使用者是否可以訪問相同的“東西”?您的回答可能不僅會影響擁有該目錄的使用者,還會影響該目錄上的使用者、組和所有權限。使用 home-brew,讓管理 home-brew 軟體包系統的使用者擁有這個目錄通常是個好主意。對於更多的共享系統來說,這個目錄由 root 擁有更為常見,因為即使這個目錄是使用者控制的,但係統管理員通常希望控制存放在這個目錄中的內容。
作為參考,這裡有一個普通的 Linux (Ubuntu) 機器的範例,然後是一台普通的 Mac OS X 機器:
user@ubuntu:~$ ls -ld /usr/local drwxr-xr-x 10 root root 4096 Sep 10 2013 /usr/local Mac:~ user$ ls -ld /usr/local drwxrwxr-x 12 root admin 408 12 Apr 04:32 /usr/local/