【发布时间】: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