尝试从终端CD / usr / local / bin时拒绝权限


12

从终端,我尝试使用用户名登录ID进入usr \ local \ bin,但权限被拒绝。与ls命令相同。有什么建议?

编辑:

mac1:/ user1$ ls -la /usr/local

total 0

drwxr-xr-x   5 root  wheel  170 Feb 15 17:53 .

drwxr-xr-x@ 12 root  wheel  408 Jan 16 14:30 ..

drwx------  19 504   wheel  646 Feb 15 18:39 bin

drwxrwxr-x   4 root  admin  136 Dec 16 08:47 lib

drwxr-xr-x   6 root  wheel  204 Feb 15 17:53 share

你能告诉我们输出ls -la /usr/local吗?
slhck 2014年

@slhck:请编辑。
EmilyJ 2014年

Answers:


29

在High Sierra(10.13)之前的OS X或macOS版本中,您可以输入:

sudo chown -R $(whoami) /usr/local

这不适用于macOS 10.13或更高版本,因为系统完整性保护将确保/usr/local不能更改的所有权。

或者,如果您想要特定于/usr/local/bin

sudo chown -R $(whoami) /usr/local/bin

此外,您的许可模式也已关闭-理想情况下/usr/local/bin,其他人也应该可以访问它:

sudo chmod -R u=rwX,go=rX /usr/local/bin

11
我通常不建议对递归更改使用数字模式(例如755)-可能会将执行访问权限添加到不应执行的纯文件中(尽管在bin目录中,这可能不是问题)。取而代之的是使用sudo chmod -R u=rwX,go=rX /usr/local/bin“ X”模式设置仅在看起来合适时才执行访问。
戈登·戴维森

好建议,谢谢。就像您说的,我之所以这样写是因为我们在谈论bin目录。
slhck 2014年

这不是一个好主意。这可能会更改二进制文件的所有者,这可能会使进程停顿并给您带来麻烦。更好地有选择地“拥有”所需的单个二进制文件。
kaiser 2016年

谈论这种情况是如何发生的,例如macport会创建此状态。至少它是在我的Mac上创建的。drwx------ 29 macports wheel 986B 8 Aug 14:01 bin
oscaroscar

1
这样做时,我收到以下错误(我尝试过使用sudo或不使用sudo):chown: changing ownership of '/usr/local/bin/docker-compose': Operation not permitted
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.