[oh-my-zsh]提示检测到不安全的完成相关目录,一键修复

[oh-my-zsh]提示检测到不安全的完成相关目录,一键修复

如果您最近安装了 Oh My Zsh或更新了运行 Oh My Zsh 的 Mac,您可能会在启动新的终端窗口时遇到较大的错误消息屏幕。该错误通常指出“检测到不安全的完成依赖目录”,并显示一系列 /usr/local/share/zsh/ 目录,其权限 zsh 认为不安全。

有两种选择来处理这个问题;一个是调整相关目录的用户权限,另一个是禁用对不安全目录的验证检查。

选项 1:更改指定目录的权限

更改权限的一种选择是使用 chmod 755,它是所有者(您)的完全权限,并为其他人提供相关目录的读取和执行权限。例如:

chmod 755 /usr/local/share/zsh

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

您当然可以使用其他更适合自己的权限选项,但 755 应该可以解决 Oh My Zsh 的不安全目录问题。

(顺便说一句,对于大多数设置,这些目录的默认权限对于 rwxrwxr-x 是 775,如果您想出于任何原因恢复)。

选项 2:禁用不安全目录检查

如果您不想更改权限而只是取消不安全的目录验证(基本上只是忽略检查,它不会解决潜在的安全问题),您可以将以下内容添加到您的 .zshrc 文件中:

ZSH_DISABLE_COMPFIX=true

使用 nano 是将其添加到您的 .zshrc 文件或您选择的文本编辑器的一种简单方法。

[oh-my-zsh]提示检测到不安全的完成相关目录,一键修复

同样,这并不能解决权限投诉,它只是停止检查指定目录的权限。

对于许多用户来说,保持 /usr/local/share/zsh/ 可供所有用户帐户访问是可取的,这样 Mac 上的所有用户帐户都可以使用 Oh My Zsh,但对于希望在共享用户计算机上获得更严格环境的其他人,你也可以更改权限以适应这种情况。这个选择由你。

完整的错误消息说明如下,主要告诉您如何解决问题,但不一定以最简洁的方式编写以立即获得解决方案。尽管如此,它还是值得一读和复习的,因此您了解 Oh My Zsh 所阐明的选择是什么,以及消除安全消息的每个选项的后果是什么。

[oh-my-zsh] 检测到不安全的完成依赖目录:
drwxrwxr-x 3 user admin 96 Jun 29 2020 /usr/local/share/zsh
drwxrwxr-x 5 user admin 160 Jul 19 14:54 /usr/local/share /zsh/网站功能

[oh-my-zsh] 为了安全起见,我们不会从这些目录加载完成,直到
[oh-my-zsh] 您修复了它们的权限和所有权并重新启动 zsh。
[oh-my-zsh] 有关具有组或其他可写性的目录,请参见上面的列表。

[oh-my-zsh] 要修复您的权限,您可以通过禁用
[oh-my-zsh] “group” 和 “others” 的写权限并确保这些
[oh-my-zsh] 的所有者目录是 root 或您的当前用户。
[oh-my-zsh] 以下命令可能会有所帮助:
[oh-my-zsh] compaudit | xargs chmod gw,ow

[oh-my-zsh] 如果以上没有帮助,或者您想跳过
[oh-my-zsh] 不安全目录的验证,您可以在 oh 之前将变量 ZSH_DISABLE_COMPFIX 设置为
[oh-my-zsh] “true” -my-zsh 来自您的 zshrc 文件。

如果您有其他解决此问题的方法,请随时在评论中分享。

本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。
(0)
上一篇 2022年10月2日 下午10:19
下一篇 2022年10月2日 下午10:21

相关推荐