【问题标题】:Insecure completion-dependent directories detected when try to source using python script尝试使用 python 脚本获取源时检测到不安全的完成依赖目录
【发布时间】:2019-12-03 22:48:04
【问题描述】:

我写脚本:

with open("./aa.zsh", "wr") as f:
    f.write("#!/bin/zsh\n")
    f.write("chmod -R 755 ~/.oh-my-zsh\n")
    f.write("source {}\n".format(path))

os.chmod("./aa.zsh", 0o777)
subprocess.call(['./aa.zsh'])

我也试过os.system('./aa.zsh')而不是最后一行。

我收到此错误:

[oh-my-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 g-w,o-w

[oh-my-zsh] 如果上面没有帮助或者你想跳过验证

[oh-my-zsh] 不安全的目录,您可以将变量 ZSH_DISABLE_COMPFIX 设置为

[oh-my-zsh] "true" 之前 oh-my-zsh 来自您的 zshrc 文件。

【问题讨论】:

  • 有什么问题?它警告您您正在做的事情很危险以及如何使警告静音。要么停止设置不安全的权限,要么设置环境变量!
  • 在我的情况下是 compaudit | xargs chmod g-w,o-w 不能解决问题,因为 compaudit 提供的目录没有组和其他人的写权限。核心问题似乎在别处。只是消除警告是危险的:ZSH_DISABLE_COMPFIX=true,因为问题不会消失。

标签: python python-3.x zsh oh-my-zsh zshrc


【解决方案1】:

根据错误消息和这个 thread 用于 ohmyzsh

您可以运行以下命令 compaudit | xargs chmod g-w,o-w

如果在你的 zshrc 中设置 ZSH_DISABLE_COMPFIX=true 对我有用。

【讨论】:

    猜你喜欢
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 2016-05-27
    • 2011-07-20
    • 1970-01-01
    • 2016-08-21
    • 1970-01-01
    • 2020-01-24
    相关资源
    最近更新 更多