运行此代码时出现此错误。
gpg --fingerprint
gpg:警告:configuration文件的不安全所有权`/home/dylan/.gnupg/gpg.conf
问题似乎与权限,但我已经试过这个代码,它似乎没有改变一件事情。 通过鹦鹉螺检查,我拥有该文件,并具有读写权限,所有其他设置为“无”。
sudo chmod 600 ~/.gnupg/gpg.conf
dylan@Majuscule:~$ sudo chown -R dylan ~dylan/.gnupg [sudo] password for dylan: dylan@Majuscule:~$ chmod 600 ~/.gnupg/gpg.conf dylan@Majuscule:~$ chmod 700 ~/.gnupg dylan@Majuscule:~$ gpg --fingerprint dylan@Majuscule:~$ sudo gpg --fingerprint gpg: WARNING: unsafe ownership on configuration file `/home/dylan/.gnupg/gpg.conf' dylan@Majuscule:~$ ls -al /home/dylan/.gnupg total 24 drwx------ 2 dylan dylan 4096 2010-02-02 13:46 . drwxr-xr-x 60 dylan dylan 4096 2010-02-02 13:43 .. -rw------- 1 dylan dylan 9364 2010-01-27 06:34 gpg.conf -rw------- 1 dylan dylan 0 2010-01-27 06:34 pubring.gpg -rw------- 1 dylan dylan 0 2010-01-27 06:34 secring.gpg -rw------- 1 dylan dylan 40 2010-01-27 06:34 trustdb.gpg dylan@Majuscule:~$
使用sudo
运行的sudo
将以root身份运行。 你想要做的是拥有文件作为你的用户dylan ,对吗?
也许正好现在root拥有你的文件。 这可以通过以下方式改变:
sudo chown -R dylan ~dylan/.gnupg
然后作为dylan
:
chmod 600 ~/.gnupg/gpg.conf chmod 700 ~/.gnupg
检查结果:
ls -l ~/.gnupg ls -ld ~/.gnupg
写完ls
后左边的字母表示:
读访问(4),写访问(2),执行访问(1)
所以6 = 4 + 2 – >读写访问
并且7 = 4 + 2 + 1 – >读,写和执行访问
为了能够进入一个目录,你将需要执行权限。
如果你想创建一个只能遍历但不列出文件的目录,你可以这样: chmod 100 the_directory
。
阅读chmod(2)手册了解更多信息。
运行gpg命令作为dylan(即不与sudo),你不会看到错误。 您不必以root身份访问您的用户拥有的GPG密钥。
相反,您可以通过指定--homedir
选项来以root身份访问其他用户的GPG密钥。 在这种情况下,您仍然会看到错误,除非您正在访问根用户的GPG密钥。