sudo -s した時の insecure directories を消す

home の .zshenv で compinit を呼ぶ時に compinit -u としてチェックを避けているにも関わらず,sudo -s した時にエラーが出るようになってイラついたので,こんなことした.

@@ -1,3 +1,6 @@
+alias   compinit='compinit -u'
+
+
 autoload -U compinit
-compinit -u
+compinit

sudo した時,zsh がエラーを出すようになった

エラーはこんな感じ.

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

compinitが食べてるpathを片っ端からchmod g-wしてみたけど,消えない.
zshenvでcompinit -uしてるしなぁと思ったものの,zshが起動する時に読み込む設定ファイルを片っ端から調べてみたら,エラーの回数だけ -u が外れているものを見付けた.
私の場合,

  • ~/.zsh/.zshrc
  • /etc/zsh/zshrc

昔は出てなかったので,何かのタイミングに切り戻されたりアップデートされたりしたのやも知れん.
ともかく解決して良かった.