修复 Oh My Zsh 中“检测到不安全的完成相关目录”的问题

来自:互联网
时间:2023-04-23
阅读:

选项 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] 所有者目录是根用户或您的当前用户。
[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 文件。

返回顶部
顶部