/usr/local/bin 中的程序没有执行权限

/usr/local/bin 中的程序没有执行权限

我已经从源代码安装了最新的 Erlang。作为我执行的最后一步

 sudo make install

除此之外,它将 erl 链接放置在 /usr/local/bin 中,但除了 sudo 之外,它的权限不足以让我使用

 lrwxr-x---  1 root  wheel    21B Apr 19 22:26 erl@

/usr/local/bin 权限:

 drwxr-xr-x  18 root  wheel   612B Apr 20 21:45 bin/

sudo 提供了足够的执行权限,但不足以更改权限。问题是,如何更改这些符号链接的权限?

答案1

您是否使用 chmod 的-h选项(来自手册页:“-h 如果文件是符号链接,则更改链接本身的模式而不是链接指向的文件”)?我尝试了一下,它似乎完成了工作:

sudo chmod -h o+rx erl

答案2

这些是受 Apple 保护的 MacOS 根文件系统完整性保护
如果路径设置正确,则不需要 root 权限来执行符号链接。

我不推荐,但您可以通过以下方式允许用户访问:
sudo chown -r $(whoami) /usr/local/bin

您当前的路径是什么?这是我的一个例子:
echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/MacGPG2/bin

相关内容