chmod で壊れた zsh; compaudit で修復しようとしています

chmod で壊れた zsh; compaudit で修復しようとしています

私のシェルは Homebrew zsh です。マシンにルート権限はありませんが、昇格された権限を持つ追加のアカウントがあります。これは私の仕事で設定された方法で、私にはどうすることもできません。そこでは、いくつかの操作を sudo で実行したり、Homebrew でインストールしたりできます。

とにかく、これらの競合するアカウントのせいで、権限の問題で他の Homebrew のものを動作させるのに苦労していました。そこで、次の操作を実行しました。

sudo chmod -R a+rw /usr/local

これで当面の問題は解決しましたが、結果的にシェルが壊れてしまいました。新しいセッションを開始するたびに、次のメッセージが表示されます (これは、source $ZSH/oh-my-zsh.shの行から取得されます.zshrc)。

compdef: unknown command or service: git
compdef: unknown command or service: git

...プロンプトが続きます。さらに、タブ補完は機能しなくなりました。ただし、他のプラグインは動作しています。

chmod私は無謀な行動を改め、使用のガイドラインに従うように努めましたcompaudit(例:ここ) ですが、問題は解決しないようです。

困り果てて、Homebrew から zsh を完全にアンインストールして再インストールしてみました。これにより、 の出力が変更されcompaudit、 からの多くのものも含まれるようになったよう/usr/local/Cellar/zsh/5.2/share/zsh/functionsです。ただし、私が見る限り、ここにあるものすべて (上記のディレクトリを含む) は、正しい所有権 ( my_admin:admin) と権限 ( ) を持っています。同様に、が不満を言っている0744他のものも問題ないようです。compaudit

ちょっと行き詰まってしまいました。次は何を試せばいいでしょうか?


アップデートそこで私はこれを試しました:

sudo chmod -R MODE /usr/local/share/zsh /usr/local/Cellar/zsh/5.2/share/zsh

...ここで、、、MODEを試しました。0777074407540550

最初のものは、いくつかのプラグインがすべてのキーボード入力を失敗させるという警告付きで、元の問題を示しています。残り (つまり、所有者以外のアクセスが制限されている) は、いくつかの zsh/Oh My Zsh 定義が読み込まれず、Oh My Zsh がプラグインを読み込もうとしたときに後続のエラーを引き起こします。具体的には、、およびが定義されなくなったというエラーが発生しますcolors(compinit同様compdefに、 を試してもcompaudit失敗します)。

何が起こっているのか、なぜ権限設定がこれほど混乱を引き起こしているのか、まったくわかりません。完全にロックアウトされる前に実験をやめますが、この問題を解決する方法についてアドバイスがあれば、ぜひ教えてください。

関連情報