gpg:警告:配置文件的所有权不安全,$gpg--Ubuntu9.10上的指纹

gpg:警告:配置文件的所有权不安全,$gpg--Ubuntu9.10上的指纹,ubuntu,permissions,file-permissions,gnupg,fingerprint,Ubuntu,Permissions,File Permissions,Gnupg,Fingerprint,我在运行此代码时遇到此错误 gpg --fingerprint gpg:警告:上的所有权不安全 配置文件 `/home/dylan/.gnupg/gpg.conf 问题似乎出在权限上,但我已经尝试了这段代码,它似乎没有改变任何事情。通过nautilus进行检查,我拥有该文件,并且具有读/写权限,所有其他文件都设置为“无” sudo chmod 600~/.gnupg/gpg.conf 使用sudo运行的命令将作为root用户运行。你想做的是以你的用户dylan的身份拥有这些文件,对吗 也许r

我在运行此代码时遇到此错误

gpg --fingerprint
gpg:警告:上的所有权不安全 配置文件 `/home/dylan/.gnupg/gpg.conf

问题似乎出在权限上,但我已经尝试了这段代码,它似乎没有改变任何事情。通过nautilus进行检查,我拥有该文件,并且具有读/写权限,所有其他文件都设置为“无”

sudo chmod 600~/.gnupg/gpg.conf



使用
sudo
运行的命令将作为root用户运行。你想做的是以你的用户dylan的身份拥有这些文件,对吗

也许root现在拥有你的文件。这可以通过以下方式进行更改:

sudo chown -R dylan ~dylan/.gnupg
然后是迪伦:

chmod 600 ~/.gnupg/gpg.conf
chmod 700 ~/.gnupg
要检查结果,请执行以下操作:

ls -l ~/.gnupg
ls -ld ~/.gnupg
书写
ls
后左边的字母表示:

r
read access(4),
w
写访问(2),
x
执行访问(1)

所以6=4+2->读写访问

以及7=4+2+1->读、写和执行访问

要能够输入目录,您需要执行访问权限

如果要创建一个目录,其中只能遍历而不能列出文件,可以执行以下操作:
chmod 100\u目录


阅读手册了解更多信息。

以dylan的身份运行gpg命令(即不使用sudo),您将不会看到错误。您不需要是root用户就可以访问用户拥有的GPG密钥


相反,通过指定
--homedir
选项,您可以以root用户身份访问其他用户的GPG密钥。在这种情况下,您仍然会看到错误,除非您正在访问root的GPG密钥。

@Nona:正如我前面所说,sudo(8)命令以root(系统管理员)身份执行命令。当您是root用户时,您可以执行任何操作,您使用chmod(1)更改的权限与
root用户无关。这就是为什么您会收到来自gpg(1)的警告<代码>dylan@Majuscule:~$gpg--fingerprint
做它应该做的事情?“使用sudo运行的命令将作为root运行”->这是一个密钥外卖。我还试图在一些非root用户下运行gpg命令,但我使用的是
sudo
。即使在应用了您的建议并将所有
.gnupg/*
文件归我的非root用户所有之后,我仍然需要在没有
sudo的情况下运行
gpg2
命令
ls -l ~/.gnupg
ls -ld ~/.gnupg