質問: macの/ usr / binにシンボリックリンクを作成する方法 環境:osx sierra、darwin kernelバージョン16.3.0根本的な問題:#!/ usr/bin/zshがある中央リポジトリで多数のシェルスクリプトを使用したい。私のmacでは、zshは/ bin/zshにあります。解決策の試み:シンボリックリンクを作成したいln -s /bin/zsh /usr/bin/zsh 私のユーザーアカウントには管理者権限がありますが、私はルートユーザーではないので、このmacでルートユーザーを有効にしたくありません。したがって、私は最初にsudo su root権限を持つシェルを取得し、次にlnコマンドを実行します。ただし、エラーメッセージln:/ usr/bin/zsh:operation not allowedは引き続き表示されます。質問: このエラーメッセージが表示されるのはなぜですか? リンクを作成するにはどうすればよいですか? 私の元の目標を達成するためのより良い方法はありますか? #を修正することに注意してください。 linesはオプションではありません。
回答: appleの システム整合性保護 が原因でこのメッセージが表示されます。システム整合性保護には、システムの次の部分の保護が含まれます。/system /usr /bin /sbin apps that are pre-installed with os x サードパーティのアプリやインストーラーが引き続き書き込めるパスとアプリ:/applications /library /usr/local これは、シンボリックリンクを/usr/local/binに作成できることを意味します($ pathにまだあります)。しかし、/usr/binにシンボリックリンクを作成する必要があるようです。これは、システム整合性保護を無効にすることで実現できます(実行しないでください。スクリプトを編集してください。)。あなたはそれを無効にすることができます(私は自分でテストしていません!!!):click the  menu. select restart... hold down command-r to boot into the recovery system. click the utilities menu and select terminal. type csrutil disable and press return. close the terminal app. click the  menu and select restart....