インフラエンジニアbacchiのわかったことまとめ

bacchi.me

zshで「zsh compinit: insecure directories」の警告が出る問題

いつのまにか、Macのターミナルを開くと下記のメッセージが出てくるようになりました。

zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]? 

「ディレクトリが安全でないから compaudit を実行して確認してね」とのこと。

さっそく compaudit を実行してみると以下のように

% compaudit   
There are insecure directories:
/usr/local/share/zsh/site-functions
/usr/local/share/zsh

この2つのディレクトリが安全な状態じゃないみたい。

パーミッションを見てみる。

% ls -al /usr/local/share/zsh/site-functions
total 16
drwxrwxr-x  4 bacchi  admin  136  9 24  2016 ./
drwxrwxr-x  3 bacchi  admin  102  9 18  2016 ../
lrwxr-xr-x  1 bacchi  admin   39  9 24  2016 _brew@ -> ../../../Homebrew/completions/zsh/_brew
lrwxr-xr-x  1 bacchi  admin   44  9 24  2016 _brew_cask@ -> ../../../Homebrew/completions/zsh/_brew_cask
% ls -al /usr/local/share/zsh 
total 0
drwxrwxr-x   3 bacchi  admin  102  9 18  2016 ./
drwxr-xr-x  28 bacchi  admin  952 12 30 10:29 ../
drwxrwxr-x   4 bacchi  admin  136  9 24  2016 site-functions/

とりあえず /usr/local/share/zsh/site-functions のパーミッションを変えてみる。

% chmod 755 /usr/local/share/zsh/site-functions

再度 compaudit を実行してみると以下のように。

% compaudit                                    
There are insecure directories:
/usr/local/share/zsh

減ってる!!

ということで、

% chmod 755 /usr/local/share/zsh

を実行して、ターミナルを新しく開くと警告が消えました!

  • B!