Permissions

多使用者 Homebrew 權限

  • September 14, 2018

我的 Mac 上有兩個使用者。兩個都是我,一個是工作模式,一個是非工作模式。我一直存在通過自製軟體安裝的問題。

$ brew install x
Error: Can't create update lock in /usr/local/var/homebrew/locks!
Fix permissions by running:
sudo chown -R $(whoami) /usr/local/var/homebrew

當然,執行這個建議的程式碼可以解決問題——直到我需要使用我的其他使用者進行 brew install ,然後我需要再次更改所有權。如何設置權限以便兩個使用者都可以使用自製軟體安裝?

我不知道homebrew具體,但理論上你可以sudo用來安裝軟體。然後使用特權訪問文件root,這可能是也可能不是您想要的。


不過,一般來說,如果您希望多個非特權使用者能夠寫入同一位置,那麼您要更改的不是該位置的所有者,而是它的**group。您可以創建一個名為的組homebrewers

sudo dscl . -create /Groups/homebrewers

然後,您需要查找一個不存在的組 ID。為此,我使用了:

dscl . -list /Groups                          \
| sed 's@^@/Groups/@'                         \
| ( while read grp;                           \
   do dscl . -read "${grp}" PrimaryGroupID;  \
   done )                                    \
| sort -snk 2

我發現使用的最高組號是 501,所以 4200 可用。所以,我設置了PrimaryGroupIDto4200Passwordto *(未使用)。不要忘記設置這些!如果這樣做,您的組列表將被損壞,您可能必須啟動到單使用者模式才能更正它。

sudo dscl . -append /Groups/homebrewers PrimaryGroupID 4200
sudo dscl . -append /Groups/homebrewers Password '*'

然後將您的兩個使用者添加到該組。此處的範例使用和的短名稱(來自whoami):user1``user2

sudo dscl . -append /Groups/homebrewers GroupMembership user1
sudo dscl . -append /Groups/homebrewers GroupMembership user2

請注意,您可能必須註銷並重新登錄才能使這些更改生效。

最後,您需要將目錄的組更改為組,homebrewers並將其權限更改為組可寫:

chown -R :homebrewers /usr/local/var/homebrew
chmod -R g+w /usr/local/var/homebrew

如果您願意,您甚至可以將所有者更改root為無不良影響:

sudo chown -R root /usr/local/var/homebrew

此處顯示的所有命令均在 PowerBook G4 上的 Mac OS X 10.4.11 上進行了測試。自從遷移到 Intel 後發生了很大變化,因此所示命令可能與較新版本中給出的命令不完全相同。基本概念將保持不變。

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