Solución:
Sí, también deberá corregir los permisos del directorio adjunto ~/.gnupg
Porque un atacante con suficientes derechos sobre la carpeta podría manipular el contenido de la carpeta.
Ejecute los siguientes comandos:
-
Asegúrese de que la carpeta y el contenido le pertenezcan:
chown -R $(whoami) ~/.gnupg/
-
Derechos de acceso correctos para
.gnupg
y subcarpetas:
find ~/.gnupg -type f -exec chmod 600 {} ;
find ~/.gnupg -type d -exec chmod 700 {} ;
Explicación para 600
, 700
:
Comencemos desde atrás: ’00’ significa NINGÚN derecho para todos los que no son propietarios de los archivos / directorios.
Eso significa que el proceso que lee estos (gnupg) debe ejecutarse como propietario de estos archivos / directorios.
~/.gnupg/
es una carpeta, el proceso que lee los contenidos debe poder “entrar” (= ejecutar) esta carpeta. Este es el bit “x”. Tiene el valor “1”. 7 - 6 = 1
Ambos ~/.gnupg/
y ~/.gnupg/*
quieres poder leer y escribir, eso es 4 + 2 = 6
.
==> Solo el propietario de los archivos puede leerlos / escribirlos ahora (= 600). Solo él también puede ingresar al directorio (= 700)
==> Estos derechos de archivo no “necesitan” ser documentados, son derivables del uso previsto.
Más información sobre la notación de permisos: https://en.wikipedia.org/wiki/File_system_permissions#Notation_of_traditional_Unix_permissions
GnuPG por defecto impone privilegios de acceso seguro, lo que significa que nadie más (excepto usted) puede acceder a su directorio de inicio de GnuPG ~/.gnupg
. Estos privilegios de acceso a menudo no son lo suficientemente estrictos después de copiar el directorio de inicio de GnuPG desde otra máquina, y muy a menudo la propiedad incorrecta es la razón de tal mensaje.
# Set ownership to your own user and primary group
chown -R "$USER:$(id -gn)" ~/.gnupg
# Set permissions to read, write, execute for only yourself, no others
chmod 700 ~/.gnupg
# Set permissions to read, write for only yourself, no others
chmod 600 ~/.gnupg/*
Si ha creado (por cualquier motivo) sus propias carpetas dentro ~/.gnupg
, también debe aplicar permisos de ejecución a esa carpeta. Las carpetas requieren privilegios de ejecución para poder abrirse.
Aunque Jens Erat ya lo mencionó en su última oración, creo que debería enfatizarse que cualquier carpeta dentro de ~ / .gnupg también debe ser ejecutable (modo 700). Esto se aplica especialmente a la carpeta de claves privadas * creada por el propio gpg. Estuve atrapado con problemas de permisos por un tiempo antes de darme cuenta de esto.