Обнаружены небезопасные каталоги, зависящие от завершения, при попытке источника с использованием скрипта Python

Пишу сценарий:

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] разрешение на запись для «группы» и «другие» и убедитесь, что

[oh-my-zsh] владельцем этих каталогов является либо root, либо ваш текущий пользователь.

[oh-my-zsh] Следующая команда может помочь:

[oh-my-zsh] компаудит | xargs chmod g-w, o-w

[oh-my-zsh] Если вышеуказанное не помогло или вы хотите пропустить проверку

[oh-my-zsh] небезопасные каталоги, вы можете установить для переменной ZSH_DISABLE_COMPFIX значение

[oh-my-zsh] "истина" перед тем, как oh-my-zsh находится в вашем файле zshrc.


person Afik Friedberg    schedule 25.07.2019    source источник
comment
в чем проблема? он предупреждает вас, что то, что вы делаете, опасно, и как заглушить предупреждение. либо прекратите установку небезопасных разрешений, либо установите переменную среды!   -  person Sam Mason    schedule 25.07.2019
comment
В моем случае компаудит | xargs chmod g-w, o-w не решает проблему, поскольку каталоги, которые предоставляет compaudit, не имеют прав на запись для группы и других. Основная проблема, кажется, в другом. Просто отключить предупреждение опасно: ZSH_DISABLE_COMPFIX = true, так как проблема не исчезнет.   -  person user637338    schedule 27.05.2020


Ответы (1)


Согласно сообщению об ошибке и этой ветке для ohmyzsh

вы можете запустить следующую команду compaudit | xargs chmod g-w,o-w

если это не сработает, настройка ZSH_DISABLE_COMPFIX=true в вашем zshrc сработала для меня.

person portatlas    schedule 14.03.2020