我的 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,然后我需要再次更改所有权。如何设置权限以便两个用户都可以使用自制程序安装?
答案1
我不知道homebrew
具体是什么,但理论上你可以用来sudo
安装软件。然后使用权限访问文件root
,这可能是也可能不是您想要的。
但一般来说,如果您希望多个非特权用户能够写入同一位置,则不适合所有者您想要更改的位置,但它团体。您可以创建一个名为的组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可用。所以,我设置了PrimaryGroupID
to4200
和Password
to *
(未使用)。不要忘记设置这些!如果这样做,您的组列表将被损坏,并且您可能必须启动到单用户模式才能更正它。
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 上进行了测试。自从迁移到英特尔以来,发生了很多变化,因此所示的命令可能无法完全按照新版本上给出的方式工作。基本概念将保持不变。