2010-02-02 41 views
24

Recibo este error cuando ejecuto este código.

gpg --fingerprint 

gpg: ADVERTENCIA: propiedad insegura en el archivo de configuración ` /home/dylan/.gnupg/gpg.conf

El problema parece ser con permisos, pero he intentado este código, y no parece haber cambiado nada. Comprobando a través de nautilus, poseo el archivo y he leído/escrito priv., Y todos los demás están configurados en 'ninguno'.

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: como dije antes, el comando sudo (8) ejecuta comandos como 'root' (administrador del sistema). Cuando eres root, puedes hacer cualquier cosa, tu permiso que cambiaste con chmod (1) no tiene que ver con 'root'. Es por eso que recibes la advertencia de gpg (1). 'dylan @ Majuscule: ~ $ gpg --fingerprint' Hace lo que se supone que debe hacer? – emil

Respuesta

41

órdenes de marcha con sudo se ejecutará como root. Lo que quiere hacer es tener los archivos como su usuario dylan, ¿verdad?

Tal vez sucede que root es el propietario de sus archivos ahora. Esto puede ser cambiado por:

sudo chown -R dylan ~dylan/.gnupg 

y luego como dylan:

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

para comprobar el resultado:

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

Las cartas a la izquierda después de escribir ls significa:

r acceso de lectura (4), w acceso de escritura (2), x ejecutar Acess (1)

Así que el 6 = 4 + 2 -> lectura y escritura

Y el 7 = 4 + 2 + 1 -> leer, escribir y ejecute el acceso

Para poder ingresar a un directorio necesitará el acceso de ejecución.

Si desea crear un directorio donde solo es posible atravesar pero no enumerar los archivos, puede hacerlo: chmod 100 the_directory.

Lea el manual chmod(2) para obtener más información.

1

Ejecute el comando gpg como dylan (es decir, no con sudo) y no verá el error. No necesita ser root para acceder a las claves GPG propiedad de su usuario.

Por el contrario, puede acceder a las claves GPG de otro usuario, como root, especificando la opción --homedir. Todavía verá el error en este caso, a menos que esté accediendo a las claves GPG de la raíz.

Cuestiones relacionadas