Oui, vous devrez également corriger les autorisations du répertoire englobant ~/.gnupg
Parce qu'un attaquant avec suffisamment de droits sur le dossier pourrait manipuler le contenu du dossier.
Exécutez les commandes suivantes :
-
Assurez-vous que le dossier+contenu vous appartient :
chown -R $(whoami) ~/.gnupg/
-
Droits d'accès corrects pour
.gnupg
et sous-dossiers :
find ~/.gnupg -type f -exec chmod 600 {} \;
find ~/.gnupg -type d -exec chmod 700 {} \;
Explication pour 600
, 700
:
Commençons par le début :'00' signifie AUCUN droit DU TOUT pour tous ceux qui ne sont pas propriétaires des fichiers/répertoires.
Cela signifie que le processus qui les lit (gnupg) doit s'exécuter en tant que propriétaire de ces fichiers/répertoires.
~/.gnupg/
est un dossier, le processus lisant le contenu doit pouvoir "entrer" (=exécuter) ce dossier. C'est le bit "x". Il a la valeur "1". 7 - 6 = 1
Les deux ~/.gnupg/
et ~/.gnupg/*
vous voulez savoir lire et écrire, c'est 4 + 2 = 6
.
==> Seul le propriétaire des fichiers peut désormais les lire/écrire (=600). Lui seul peut également entrer dans le répertoire (=700)
==> Ces droits de fichiers n'ont pas "besoin" d'être documentés, ils sont déductibles de l'utilisation prévue.
Plus d'informations sur la notation des autorisations :https://en.wikipedia.org/wiki/File_system_permissions#Notation_of_traditional_Unix_permissions
GnuPG applique par défaut des privilèges d'accès sécurisés, ce qui signifie que personne d'autre (à part vous) ne peut accéder à votre répertoire personnel GnuPG ~/.gnupg
. Ces privilèges d'accès ne sont souvent pas assez stricts après avoir copié le répertoire personnel de GnuPG depuis une autre machine, et très souvent un mauvais propriétaire est la raison d'un tel message.
# 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 vous avez (pour une raison quelconque) créé vos propres dossiers dans ~/.gnupg
, vous devez également appliquer des autorisations d'exécution à ce dossier. Les dossiers nécessitent des privilèges d'exécution pour être ouverts.
Bien que Jens Erat l'ait déjà mentionné dans sa dernière phrase, je pense qu'il convient de souligner que tous les dossiers à l'intérieur de ~/.gnupg doivent également être exécutables (mode 700). Cela vaut en particulier pour le dossier private-keys* créé par gpg lui-même. J'ai été coincé avec des problèmes d'autorisation pendant un moment avant de m'en apercevoir.