«Небезопасные разрешения для файла конфигурации` /home/david/.gnupg/gpg.conf »Что это значит и как исправить?

8
gpg: WARNING: unsafe permissions on configuration file `/home/david/.gnupg/gpg.conf'
gpg: WARNING: unsafe enclosing directory permissions on configuration file `/home/david/.gnupg/gpg.conf'
gpg: external program calls are disabled due to unsafe options file permissions
gpg: keyserver communications error: general error
gpg: keyserver receive failed: general error

Что это значит и как исправить?

Дэвид
источник

Ответы:

13

gpg: ПРЕДУПРЕЖДЕНИЕ: небезопасные разрешения для файла конфигурации /home/david/.gnupg/gpg.conf' gpg: WARNING: unsafe enclosing directory permissions on configuration file/home/david/.gnupg/gpg.conf 'gpg: внешние вызовы программы отключены из-за небезопасных прав доступа к файлу параметров

Это означает, что у вас ~/.gnupg/gpg.confесть неожиданные разрешения для пользователя, с которым вы работаете, например, права на запись для «других», другого пользователя или исполняемого бита. Этот файл всегда должен быть из соображений безопасности только для чтения и записи пользователем, и никто другой :

$ ls -l ~/.gnupg/gpg.conf
-rw------- 1 braiam braiam 7890 Jul  8 18:51 .gnupg/gpg.conf

Ваш, вероятно, имеет другого пользователя или разрешения. Проверьте их, используя ls -l ~/.gnupg/gpg.conf. Чтобы исправить это достаточно просто:

chown $(whoami):$(whoami) ~/.gnupg/gpg.conf ## if this fails read at the bottom
chmod 600 ~/.gnupg/gpg.conf

Если некоторые из команд не выполняются или вы продолжаете получать сообщение об ошибке, которое вы упомянули после выполнения этих инструкций, вы должны удалить ~/.gnupgкаталог, так как ему больше нельзя доверять.

rm -r ~/.gnupg/gpg.conf ## If this fails, use sudo

Затем вы можете попробовать запустить gpgкоманду с тем же пользователем, который будет запускать скрипт, таким образом, ваш пользователь создаст ~/.gnupgкаталог с соответствующими разрешениями.

Braiam
источник
1
На Cygwin работало только это:chmod 700 .gnupg
CMCDragonkai
12

Вы, вероятно, перенесли свою .gnupgпапку с другого компьютера или изменили другим способом права доступа к файлу.

GnuPG обеспечивает частную собственность на папку и некоторые файлы по соображениям безопасности.

Эти две строки фиксируют разрешения. Первый гарантирует, что ~/.gnupgпапка (и все в ней) на самом деле ваша. Чтобы, возможно, обойти владение, требуются права суперпользователя, то есть sudo. Вторая строка гарантирует, что никто, кроме вас, не сможет прочитать ее содержимое (удалите права на чтение, запись и выполнение для группы и других пользователей). Ваше имя пользователя вставляется автоматически, поэтому вы можете скопировать строки прямо на ваш терминал:

sudo chown -R ${USER}:${USER} ~/.gnupg
chmod -R go-rwx ~/.gnupg
Йенс Эрат
источник
И это самый короткий ответ.
Михал Леон
3

Я просто столкнулся с той же проблемой. Оказалось, я запускаю gpgкоманду с помощью sudo. Когда я попытался снова без sudo, он работал нормально, и никаких ошибок не отображалось. Таким образом, это может иметь место и для вас.

Мухаммед Анас
источник