Permissions

/usr/local/bin 中的程序沒有執行權限

  • September 14, 2016

我已經從原始碼安裝了最新的 Erlang。作為我執行的最後一步

sudo make install

除其他外,它在/usr/local/bin 中放置了erl 連結,但它的權限不足以讓我使用,除了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 提供了足夠的執行權限,但不足以更改權限。問題是,如何更改這些符號連結的權限?

您是否使用 chmod 的-h選項(來自手冊頁:“-h 如果文件是符號連結,則更改連結本身的模式而不是連結指向的文件”)?我試過了,它似乎完成了這項工作:

sudo chmod -h o+rx erl

這些是受 Apple系統完整性保護
保護的 MacOS 根文件如果路徑設置正確,則不需要根權限即可執行符號連結。

我不推薦,但您可以通過以下方式允許使用者訪問:
sudo chown -r $(whoami) /usr/local/bin

您目前的路徑是什麼?這是我的一個例子:
echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/MacGPG2/bin

引用自:https://unix.stackexchange.com/questions/11746