Ja, Sie müssen auch die Berechtigungen des umschließenden Verzeichnisses ~/.gnupg
korrigieren
Denn ein Angreifer mit ausreichenden Rechten auf den Ordner könnte Ordnerinhalte manipulieren.
Führen Sie die folgenden Befehle aus:
-
Stellen Sie sicher, dass der Ordner + Inhalt Ihnen gehören:
chown -R $(whoami) ~/.gnupg/
-
Korrigieren Sie die Zugriffsrechte für
.gnupg
und Unterordner:
find ~/.gnupg -type f -exec chmod 600 {} \;
find ~/.gnupg -type d -exec chmod 700 {} \;
Erklärung für 600
, 700
:
Fangen wir von hinten an:'00' bedeutet ÜBERHAUPT KEINE Rechte für alle, die nicht Eigentümer der Dateien/Verzeichnisse sind.
Das bedeutet, dass der diese lesende Prozess (gnupg) als Eigentümer dieser Dateien/Verzeichnisse laufen muss.
~/.gnupg/
ein Ordner ist, muss der den Inhalt lesende Prozess diesen Ordner „betreten“ (=ausführen) können. Dies ist das "x"-Bit. Es hat den Wert „1“. 7 - 6 = 1
Beide ~/.gnupg/
und ~/.gnupg/*
Sie wollen lesen und schreiben können, das ist 4 + 2 = 6
.
==> Nur der Besitzer der Dateien kann sie jetzt lesen/schreiben (=600). Nur er kann sich auch in das Verzeichnis eintragen (=700)
==> Diese Dateirechte "müssen" nicht dokumentiert werden, sie ergeben sich aus der bestimmungsgemäßen Verwendung.
Weitere Informationen zur Notation von Berechtigungen:https://en.wikipedia.org/wiki/File_system_permissions#Notation_of_traditional_Unix_permissions
GnuPG erzwingt standardmäßig sichere Zugriffsrechte, was bedeutet, dass niemand außer Ihnen auf Ihr GnuPG-Home-Verzeichnis ~/.gnupg
zugreifen kann . Diese Zugriffsrechte sind oft nicht streng genug, nachdem das GnuPG-Home-Verzeichnis von einem anderen Rechner kopiert wurde, und sehr oft sind falsche Besitzverhältnisse der Grund für eine solche Meldung.
# 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/*
Wenn Sie (aus irgendeinem Grund) Ihre eigenen Ordner in ~/.gnupg
erstellt haben , müssen Sie diesem Ordner außerdem Ausführungsberechtigungen zuweisen. Zum Öffnen von Ordnern sind Ausführungsrechte erforderlich.
Obwohl Jens Erat es bereits in seinem letzten Satz erwähnt hat, sollte meiner Meinung nach betont werden, dass alle Ordner innerhalb von ~/.gnupg ebenfalls ausführbar sein müssen (Modus 700). Dies gilt insbesondere für den Ordner private-keys*, der von gpg selbst erstellt wird. Ich hatte eine Weile mit Berechtigungsproblemen zu tun, bevor ich das bemerkte.