GNU/Linux >> Linux の 問題 >  >> Linux

.gnupg を含むフォルダーの正しいアクセス許可は何ですか? gpg:警告:構成ファイルの安全でない囲みディレクトリ許可

はい、含まれているディレクトリ ~/.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* フォルダーに当てはまります。これに気付く前に、しばらく許可の問題で立ち往生していました.


    Linux
    1. ファイルパーミッションの「s」属性はどういう意味ですか?

    2. `touch`コマンドの正当な使用法は何ですか?

    3. Umaskが適用される前のファイルタイプごとの従来のファイルパーミッションは何ですか?

    1. Windows の Linux の File コマンドに相当するものは何ですか?

    2. Linuxでの理想的なホームディレクトリのアクセス許可はどうあるべきか

    3. gnu/linuxでファイルパーミッションなどを設定するさまざまな方法は何ですか?

    1. root ユーザーのファイル許可はどのように機能しますか?

    2. `hostname` のデフォルトのファイルは何ですか?

    3. ls -l のパーミッションの末尾にある + は何を意味しますか?