问题:
mac 打开终端提示
zsh compinit: insecure directories, run compaudit for list. Ignore insecure directories and continue [y] or abort compinit [n]?
mac os : big sur 11.3.1
原因分析:
警告中出现 compaudit ,通过资料得知:
compaudit
的原理:
出于安全原因,compinit 还会检查补全系统是否会使用不属于 root
或当前用户所有的文件,或者目录中的文件是全局或组可写的,或者不属于 root
或当前用户所有的文件。如果找到这样的文件或目录,compinit 会询问是否真的应该使用补全系统。为避免这些测试并使找到的所有文件无需询问即可使用,请使用选项 -u,并使用选项 -i 使 compinit 静默忽略所有不安全的文件和目录。当给出 -C 选项时,将完全跳过此安全检查。
可以随时通过运行 compaudit 命令来重试安全检查。
运行提示的 compaudit 得到两个路径:
zx@zxdeMacBook-Pro ~ % compaudit There are insecure directories: /usr/local/share/zsh/site-functions /usr/local/share/zsh
我这个提示可能的是由于安装 Homebrew 引起的。
可以通过 ls -lh 命令来检查以上目录的权限
ls -lh /usr/local/share ls -lh /usr/local/share/zsh
可以发现
/usr/local/share/zsh/site-functions /usr/local/share/zsh
这两个路径的权限都是 drwxrwxr-x
解决方案:
chmod g-w /usr/local/share/zsh chmod g-w /usr/local/share/zsh/site-functions
去掉两个路径的可写权限
