Permissions

sudo chown -R $USER:admin /usr/local - 恢復到 ROOT?

  • December 9, 2019

這個問題以前被問過/回答過,我知道我的管理員使用者帳戶可以安全地chown使用/usr/local,我已經完成了安裝githomebrew使用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/

引用自:https://unix.stackexchange.com/questions/143828