web-dev-qa-db-ja.com

gpg:警告:homedir '/home/user/.gnupg'の安全でない所有権

このガイドに従ってTor Browserをインストールしようとしています:

https://2019.www.torproject.org/docs/debian.html.en Ubuntu 18.04.3 TLS。

次のコマンドを実行すると:

gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | apt-key add -

以下のエラーメッセージが表示されます。

E: This command can only be used by root.

Sudoを使用して同じコマンドを実行すると、次のメッセージが表示されます。

gpg: WARNING: unsafe ownership on homedir '/home/user/.gnupg'
E: This command can only be used by root.

誰かがそれを修正する方法とそれがなぜ起こっているのか知っていますか?

1
user931921

Sudoでどのように使用しようとしましたか?

私の推測は:

Sudo gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | apt-key add -

その場合、gpgはrootとして実行され、apt-keyは通常のユーザーとして実行されます。

この特定のケースでは、apt-keyの前にSudoを追加する必要があります。

gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | Sudo apt-key add -

gpgSudoで実行し、-Hフラグを使用していないので、~/.gnupgの権限が変更された可能性があります。

man Sudo から:

-H '-H(HOME)オプションは、セキュリティポリシーがHOMEデータベース環境変数をパスワードデータベースで指定されたターゲットユーザー(デフォルトではroot)のホームディレクトリに設定することを要求します。ポリシーによっては、これがデフォルトの動作になる場合があります。

権限と所有権を確認するには:

ls -l ~/.gnupg

ディレクトリ(.)またはディレクトリ内のファイルがrootによって所有されている場合は、次のようにして権限を修正します。

Sudo chown -R $USER:$USER ~/.gnupg
Sudo find ~/.gnupg -type d -exec chmod 700 {} \;
Sudo find ~/.gnupg -type f -exec chmod 600 {} \;
2
mgor