はい、含まれているディレクトリ ~/.gnupg
のアクセス許可も修正する必要があります。
フォルダーに対する十分な権限を持つ攻撃者がフォルダーの内容を操作できるためです。
次のコマンドを実行します:
<オール>
フォルダーとコンテンツが自分のものであることを確認してください。
chown -R $(whoami) ~/.gnupg/
.gnupg
の正しいアクセス権 およびサブフォルダー:
find ~/.gnupg -type f -exec chmod 600 {} \;
find ~/.gnupg -type d -exec chmod 700 {} \;
600
の説明 、 700
:
後ろから始めましょう:'00' は、ファイル/ディレクトリの所有者以外のすべての人にまったく権限がないことを意味します。
つまり、これらを読み取るプロセス (gnupg) は、これらのファイル/ディレクトリの所有者として実行する必要があります。
~/.gnupg/
がフォルダの場合、コンテンツを読み取るプロセスは、このフォルダに「入る」(=実行する) ことができる必要があります。これは「x」ビットです。値は「1」です。 7 - 6 = 1
両方 ~/.gnupg/
そして ~/.gnupg/*
読み書きできるようになりたい場合は、4 + 2 = 6
です .
==> ファイルの所有者だけが読み書きできるようになりました (=600)。彼だけがディレクトリにも入ることができます (=700)
==> これらのファイルの権利は、文書化する必要はありません。意図した使用法から導き出すことができます。
パーミッション表記の詳細:https://en.wikipedia.org/wiki/File_system_permissions#Notation_of_traditional_Unix_permissions
GnuPG はデフォルトで安全なアクセス権限を強制します。つまり、他の誰も (あなた以外は) あなたの GnuPG ホーム ディレクトリにアクセスできません ~/.gnupg
. GnuPG のホーム ディレクトリを別のマシンからコピーした後、これらのアクセス権限は十分に厳密ではないことが多く、間違った所有権がそのようなメッセージの理由であることがよくあります。
# 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/*
(何らかの理由で) ~/.gnupg
内に独自のフォルダーを作成した場合 、さらにそのフォルダーに実行権限を適用する必要があります。フォルダを開くには実行権限が必要です。
Jens Erat は最後の文ですでに言及していますが、~/.gnupg 内のすべてのフォルダーも実行可能 (モード 700) でなければならないことを強調しておく必要があると思います。これは特に、gpg 自体によって作成される private-keys* フォルダーに当てはまります。これに気付く前に、しばらく許可の問題で立ち往生していました.