gpg:警告:homedir '/home/user/.gnupg' 上的所有权不安全

Lin*_*eak 38 permissions directory gpg

系统:我正在测试基于Ubuntu 18.04 的Linux Mint 19 Beta

我在安装不相关的软件包时收到此警告:

gpg: WARNING: unsafe ownership on homedir '/home/vlastimil/.gnupg'
Run Code Online (Sandbox Code Playgroud)

这是ls目录本身的输出:

$ lld /home/vlastimil/.gnupg

drwx------ 4 vlastimil vlastimil 4,0K Jun 26 11:42 /home/vlastimil/.gnupg
Run Code Online (Sandbox Code Playgroud)

这似乎没问题。

这是ls目录内容的输出:

$ ll /home/vlastimil/.gnupg/

total 24K
drwx------ 2 vlastimil vlastimil 4,0K Jun 26 11:36 crls.d
drwx------ 2 vlastimil vlastimil 4,0K Jun 26 05:28 private-keys-v1.d
-rw-r--r-- 1 vlastimil vlastimil 6,4K Jun 26 11:42 pubring.kbx
-rw-r--r-- 1 vlastimil vlastimil 3,2K Jun 26 11:37 pubring.kbx~
srwx------ 1 root      root         0 Jun 26 11:38 S.dirmngr
-rw------- 1 vlastimil vlastimil 1,2K Jun 26 11:37 trustdb.gpg
Run Code Online (Sandbox Code Playgroud)

我不确定我是否不能删除名为S.dirmngr.

我也不确定这是否会解决问题或创建另一个问题。

我只记得不久前,我被指示安装一个名为 ie 的包dirmngr,但我不记得它连接了什么软件安装。

编辑1:

正如斯蒂芬基特所指出的,我真的跑了这条线,我在历史上发现:

sudo gpg --recv-keys ...
Run Code Online (Sandbox Code Playgroud)

这会有什么后果吗?

Ste*_*itt 45

这是运行gpgwith的结果sudogpg然后以 root 身份运行,但它的主目录仍然是用户的。这解释了警告(gpg以 root 身份运行,但另一个用户拥有配置目录)和dirmngr套接字的所有权。

要解决这个问题,你应该停止dirmngr

sudo gpgconf --kill dirmngr
Run Code Online (Sandbox Code Playgroud)

sudo仅此一次,因为dirmngr以 root 身份运行,正如其套接字所证明的那样),然后恢复您的所有权:

sudo chown -R $USER ~/.gnupg
Run Code Online (Sandbox Code Playgroud)

  • @leinaD 你无法恢复被杀死的进程。要以 root 身份运行“gpg”而不导致此问题,请使用“sudo -H”:“sudo -H gpg”。 (3认同)
  • @leinaD 啊,对了,如有必要,“gpg”应该自行启动“dirmngr”。 (2认同)