我使用 pass 作为密码管理器。最近,我在新磁盘上安装了 Mint 18.1,并使用 aptik/home
从另一个磁盘上的旧 Mint 17.2 安装中复制了 、软件等。我还复制了.password-store
和.gnupg
。
现在我可以访问我存储的密码,但无法插入新文件。这是我执行此操作时收到的错误pass insert -m somedir/somefile
:
gpg: can't create 'home/me/.password-store/somedir/somefile.gpg': Permission denied
gpg: [stdin]: encryption failed: Permission denied
的所有者和组.password-store
是.gnupg
我的用户。将权限更改.password-store
为 777 也无济于事。
ls -ld .gnupg/
drwx------ 3 me me 4096 May 13 19:33 .gnupg/`
ls -ld .password-store/
drwxrwxrwx 11 me me 4096 May 8 23:55 .password-store/
对这里发生的事情有什么想法吗?
答案1
鉴于 GnuPG 无法在以下位置创建文件home/me/.password-store/somedir/
:
gpg: can't create 'home/me/.password-store/somedir/somefile.gpg': Permission denied
并且.password-store
具有(过于宽泛的)权限,但似乎somedir
没有设置适当的权限(属于另一个用户和/或缺少您用户的读/写/执行权限)。使用 进行验证ls -ld ~/.password-store/somedir
,它应该显示属于您自己的用户帐户的文件夹,并且为用户设置了读/写/执行权限(而不是其他任何人,因为这些是私人文件)。
以下几行应该可以解决问题(获取目录的所有权,这需要 root 权限,然后为您自己的用户设置读/写/执行权限,但为组和其他用户设置权限):
sudo chown $USER:$USER ~/.password-store/somedir
chmod 700 ~/.password-store/somedir