OS X El Capitan - 命令行尽管使用sudo,但不允许操作

时间:2017-01-09 15:28:55

标签: macos command-line terminal osx-elcapitan

我正在尝试使用mac终端命令行创建符号链接,但我得到"操作不允许"。请参阅以下代码:

sudo ln -s ~/.composer/vendor/drush/drush/drush /usr/bin/drush
Password:
ln: /usr/bin/drush: Operation not permitted

感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

您的用户必须是群组管理员的成员,或者编辑/ etc / sudoers文件才能使用sudo。关于" man sudoers"。

的更多信息

答案 1 :(得分:0)

与操作系统分开安装的命令属于/ usr / local,因此您应将链接放在/ usr / local / bin中,而不是/ usr / bin中。默认情况下,/ usr / local / bin不存在,但它在默认的PATH中,所以如果你创建它,它将被自动识别:

sudo mkdir /usr/local/bin
sudo ln -s ~/.composer/vendor/drush/drush/drush /usr/local/bin/drush

您还可以在/ usr / local / bin上设置权限,以允许管理员组的成员在那里安装,因此您可以添加不带sudo的链接:

sudo mkdir /usr/local/bin
sudo chgrp admin /usr/local/bin    # Assign the directory to the "admin" group
sudo chmod 775 /usr/local/bin    # Grant the group write access
ln -s ~/.composer/vendor/drush/drush/drush /usr/local/bin/drush    # No `sudo` needed!

请注意,在/ usr / local中放置自定义/本地内容一直是​​标准惯例,但从El Capitan开始,它由System Integrity Protection强制执行。可以禁用SIP,但在大多数情况下(如此)最好遵循标准惯例。