更改OS X中目录的所有权

Gra*_*eme 8 macos homebrew chown

我已经安装了自制软件,并且正在尝试更改/ usr/local/include目录的写入权限.

当我运行'brew doctor'时,我收到以下错误消息:

错误:/ usr/local目录不可写.即使在安装Homebrew时此目录是可写的,其他软件也可能会更改此目录的权限.已知翼型的"InstantOn"组件的某些版本可以做到这一点.

您应该将/ usr/local的所有权和权限更改回您的用户帐户.

我尝试用chown做这个,但我对此很新,并且不认为我正确运行它.我跑了:

chown myusername /usr/local/include
Run Code Online (Sandbox Code Playgroud)

我没有收到任何错误消息,但是当我运行brew医生时,它说我仍然没有写入/ usr/local/include的许可.

任何帮助将不胜感激!

编辑:

我收到"不允许操作"错误.

cd /usr

chown myusername local

chown:local:不允许操作

小智 20

对我有用的简单解决方案:

  1. 点击你的背景去寻找
  2. 点击go转到文件夹/ usr
  3. 右键单击本地并获取信息
  4. 解锁底部的锁
  5. 单击+符号并将您的用户添加到列表中并提供读/写权限
  6. 单击底部的齿轮标志,然后选择应用于封闭的项目以递归到该目录下,并为其下面的所有目录分配权限.

键入brew doctor从命令提示来测试.我的结果:

您的系统已准备好酿造.

  • 我无法添加用户,出现错误:```操作无法完成,因为您没有必要的权限。``` (7认同)

lan*_*nzz 8

在我的系统上,/usr/localroot:admin和拥有rwxrwxr-x.我的用户是该admin组的成员,因此具有写权限.我没有弄乱所有权和权限,我的Homebrew安装没有抱怨,所以我认为我的设置符合其要求.

检查你的所有权/usr/local; 如果它由组拥有admin,请检查您的非管理员帐户是否是该组的成员.

  • 我的用户名是管理员。/ usr / local由root:wheel拥有。不知道那是什么。我使用了-R标志和sudo来给我用户名对/ usr / local中所有目录的写权限。由于某种原因,当我尝试使用“ admin”作为参数时,它不会接受。 (2认同)

ePi*_*314 5

小心所有权变更

如果您没有在原始问题中看到相同的错误,请不要尝试更改所有权/usr/或递归地更改所有权。 您可能会搞砸您的系统或削弱其安全性。/usr/local/

某些用户可能会收到自制权限错误,这些错误可以在不更改整个/usr//usr/local/目录的所有权的情况下解决。

根据我的经验,在大多数情况下,恢复以下内容的所有权就足够了/usr/local/Cellar

sudo chown -R "$USER" /usr/local/Cellar/
Run Code Online (Sandbox Code Playgroud)

或者,如果您的安装不是标准的

sudo chown -R "$USER" "$(brew --prefix)/Cellar"
Run Code Online (Sandbox Code Playgroud)