gpg: ПРЕДУПРЕЖДЕНИЕ: небезопасное владение файлом конфигурации, $gpg --fingerprint в Ubuntu 9.10

Я получаю эту ошибку, когда запускаю этот код.

gpg --fingerprint

gpg: ПРЕДУПРЕЖДЕНИЕ: небезопасное владение файлом конфигурации `/home/dylan/.gnupg/gpg.conf

Кажется, проблема связана с разрешениями, но я попробовал этот код, и он ничего не изменил. Проверяя через nautilus, я владею файлом и имею право на чтение/запись, а для всех остальных установлено значение «нет».

sudo chmod 600 ~/.gnupg/gpg.conf


dylan@Majuscule:~$ sudo chown -R dylan ~dylan/.gnupg
[sudo] password for dylan: 
dylan@Majuscule:~$ chmod 600 ~/.gnupg/gpg.conf
dylan@Majuscule:~$ chmod 700 ~/.gnupg
dylan@Majuscule:~$ gpg --fingerprint
dylan@Majuscule:~$ sudo gpg --fingerprint
gpg: WARNING: unsafe ownership on configuration file `/home/dylan/.gnupg/gpg.conf'
dylan@Majuscule:~$ ls -al /home/dylan/.gnupg
total 24
drwx------  2 dylan dylan 4096 2010-02-02 13:46 .
drwxr-xr-x 60 dylan dylan 4096 2010-02-02 13:43 ..
-rw-------  1 dylan dylan 9364 2010-01-27 06:34 gpg.conf
-rw-------  1 dylan dylan    0 2010-01-27 06:34 pubring.gpg
-rw-------  1 dylan dylan    0 2010-01-27 06:34 secring.gpg
-rw-------  1 dylan dylan   40 2010-01-27 06:34 trustdb.gpg
dylan@Majuscule:~$ 

person Nona Urbiz    schedule 02.02.2010    source источник
comment
@Nona: как я уже говорил, команда sudo (8) выполняет команды как root (системный администратор). Когда вы root, вам разрешено делать что угодно, ваше разрешение, которое вы изменили с помощью chmod(1), не касается root. Вот почему вы получаете предупреждение от gpg(1). dylan@Majuscule:~$ gpg --fingerprint Делает то, что должен делать?   -  person emil    schedule 03.02.2010


Ответы (2)


Команды, запускаемые с sudo, будут выполняться от имени пользователя root. Что вы хотите сделать, так это владеть файлами как ваш пользователь dylan, верно?

Возможно, так получилось, что root теперь владеет вашими файлами. Это можно изменить:

sudo chown -R dylan ~dylan/.gnupg

а затем как dylan:

chmod 600 ~/.gnupg/gpg.conf
chmod 700 ~/.gnupg

Чтобы проверить результат:

ls -l ~/.gnupg
ls -ld ~/.gnupg

Буквы слева от ls означают:

r доступ для чтения (4), w доступ для записи (2), x доступ для выполнения (1)

Таким образом, 6 = 4 + 2 -> доступ для чтения и записи

И 7 = 4 + 2 + 1 -> доступ для чтения, записи и выполнения

Чтобы иметь возможность войти в каталог, вам понадобится доступ для выполнения.

Если вы хотите создать каталог, в котором можно только перемещаться, но не перечислять файлы, вы можете сделать: chmod 100 the_directory.

Прочитайте chmod(2 ) для получения дополнительной информации.

person emil    schedule 02.02.2010
comment
Команды, запускаемые с помощью sudo, будут выполняться от имени пользователя root -> Это ключевой вывод. Я также пытался запустить команду gpg под каким-то пользователем без полномочий root, но я использовал sudo. Даже после применения ваших рекомендаций и наличия всех моих файлов .gnupg/*, принадлежащих моему пользователю без полномочий root, мне все равно нужно было выполнить команду gpg2 без sudo. - person user2490003; 15.08.2018

Запустите команду gpg от имени dylan (т. е. не с помощью sudo), и вы не увидите ошибки. Вам не нужно быть root, чтобы получить доступ к ключам GPG, принадлежащим вашему пользователю.

И наоборот, вы можете получить доступ к ключам GPG другого пользователя как root, указав параметр --homedir. В этом случае вы все равно увидите ошибку, если только вы не обращаетесь к ключам GPG root.

person Andy Foster    schedule 24.05.2017