WSL2 和 gnupg 中的权限问题

Permission issue in WSL2 and gnupg

我正在尝试生成 GPG 密钥并将该密钥移到 WSL2 之外。

  1. 在 WSL2 中生成 GPG 密钥及其吊销证书
  2. 通过以下命令将密钥导出到 Windows:

gpg2 --export-secret-keys --armor "GPG_PUBLIC_ID" > ~/secret-key.asc

此命令成功生成具有权限 -rw-r--r-- 的 .asc 文件 我的目标目录 (/mnt/c) 具有 drwxrwxrwx

的权限

所以权限似乎足够了。 但是,当密钥导出到 WSL 外部或复制到 WSL 外部时,导出失败。

gpg2 --export-secret-keys --armor "GPG_PUBLIC_ID" > /mnt/c/secret-key.asc

此命令报错如下:zsh: permission denied: /mnt/c/secret-key.asc

我正在使用 Ubuntu 20.04 并且包管理器已更新。

根目录 fo Windows (C:\) 比其他目录有更高的安全限制。 drwxrwxrwx 可能无法反映 Windows 中的真实权限。你不应该在 Windows 根目录中写入文件,除非你有非常充分的理由这样做。

尝试

gpg2 --export-secret-keys --armor "GPG_PUBLIC_ID" > /mnt/c/temp/secret-key.asc
# Create C:\temp in Windows if it does not exist.