转储密钥库内容:权限被拒绝 keytool java_cacerts

Dump keystore content: Permission denied keytool java_cacerts

我正在尝试获取我的 Java 密钥库内容的转储,我正在尝试在终端中使用以下查询:

keytool -list -v -keystore /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/security/cacerts > java_cacerts.txt

它抛出以下错误:
-bash: java_cacerts.txt: Permission denied

我已经尝试更改几个文件夹的权限,也尝试更改 cacerts 文件本身的权限,但没有任何结果。

可能是什么问题?

您可能没有写入当前工作目录的权限。
首先尝试在不使用任何 keytool 命令的情况下创建文件 java_cacerts.txt,您应该得到相同的错误 运行 类似于 touch java_cacerts.txt

您没有对要导出的文件夹的写入权限java_cacerts.txt。

给出的答案引出了解决方案。我在 java_cacerts.txt 之前添加了一个不同的(100% 确定可写)位置,它现在可以写入了。谢谢! :)

我最近 运行 遇到了类似的问题。

如果您运行具有管理员权限的相同命令,您将能够毫无问题地生成文件。