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

Emi*_*lyJ 18 osx-mavericks macos

从终端,我尝试使用我的用户名登录 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
Run Code Online (Sandbox Code Playgroud)

slh*_*hck 36

在 High Sierra (10.13) 之前的 OS X 或 macOS 版本中,您只需键入:

sudo chown -R $(whoami) /usr/local
Run Code Online (Sandbox Code Playgroud)

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

或者,如果您希望它特定于/usr/local/bin

sudo chown -R $(whoami) /usr/local/bin
Run Code Online (Sandbox Code Playgroud)

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

sudo chmod -R u=rwX,go=rX /usr/local/bin
Run Code Online (Sandbox Code Playgroud)

  • 我通常不建议使用具有递归更改的数字模式(如 755)——它可能会添加对不应可执行的纯文件的执行访问权限(尽管在 bin 目录的情况下它可能不是问题)。而是使用类似`sudo chmod -R u=rwX,go=rX /usr/local/bin`这样的东西——“X”模式仅在看起来合适时才设置执行访问。 (11认同)