2010-02-02 5 views
24

Viene visualizzato questo errore quando si esegue questo codice.

gpg --fingerprint 

gpg: ATTENZIONE: la proprietà non sicuri sul file di configurazione `/home/dylan/.gnupg/gpg.conf

Il problema sembra essere con i permessi, ma ho provato questo codice, e non sembra aver cambiato nulla. Controllando tramite nautilus, possiedo il file e ho letto/scrivi priv. E tutti gli altri sono impostati su "nessuno".

sudo chmod 600 ~/.gnupg/gpg.conf


[email protected]:~$ sudo chown -R dylan ~dylan/.gnupg 
[sudo] password for dylan: 
[email protected]:~$ chmod 600 ~/.gnupg/gpg.conf 
[email protected]:~$ chmod 700 ~/.gnupg 
[email protected]:~$ gpg --fingerprint 
[email protected]:~$ sudo gpg --fingerprint 
gpg: WARNING: unsafe ownership on configuration file `/home/dylan/.gnupg/gpg.conf' 
[email protected]:~$ 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 
[email protected]:~$ 
+1

@Nona: come ho detto prima, il comando sudo (8), esegue i comandi come 'root' (amministratore di sistema). Quando sei root, sei autorizzato a fare qualsiasi cosa, il tuo permesso che hai modificato con chmod (1) non riguarda 'root'. Questo è il motivo per cui ricevi l'avviso da gpg (1). 'dylan @ Majuscule: ~ $ gpg --fingerprint' Fa quello che dovrebbe fare? – emil

risposta

41

eseguire comandi con sudo verrà eseguito come root. Quello che vuoi fare è possedere i file come utente dylan, giusto?

Forse succede che root ora possegga i tuoi file. Questo può essere cambiato da:

sudo chown -R dylan ~dylan/.gnupg 

e poi come dylan:

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

Per controllare il risultato:

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

Le lettere a sinistra dopo aver scritto ls significa:

r accesso in lettura (4), w accesso in scrittura (2), x eseguire acess (1)

Così il 6 = 4 + 2 -> lettura e scrittura

E il 7 = 4 + 2 + 1 -> leggere, scrivere ed eseguire l'accesso

Per poter inserire una directory è necessario l'accesso di esecuzione.

Se si desidera creare una directory in cui è possibile solo attraversare ma non elencare i file, è possibile effettuare le seguenti operazioni: chmod 100 the_directory.

Leggere il manuale chmod(2) per ulteriori informazioni.

1

Eseguire il comando gpg come dylan (cioè non con sudo) e non vedrete l'errore. Non è necessario essere root per accedere alle chiavi GPG di proprietà dell'utente.

Al contrario, è possibile accedere alle chiavi GPG di un altro utente, come utente root, specificando l'opzione --homedir. In questo caso vedrai comunque l'errore, a meno che tu non stia accedendo alle chiavi GPG di root.