gpg: ПРЕДУПРЕЖДЕНИЕ: опасна собственост върху конфигурационния файл, $gpg --fingerprint на Ubuntu9.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