授予用户访问 LetsEncrypt pem 文件的权限

Give User Permissions to Access LetsEncrypt pem files

我有一个 Java 应用程序引用我的 letsencrypt cert.pem 和 privkey.pem 文件来保护后端 API。这些文件是由 certbot 按照 guide.

生成的

我的应用程序抱怨文件不存在,而实际上它们存在。这让我得出结论,运行该应用程序的 Linux 用户无权访问这些文件。

我尝试了各种命令来授予自己对文件的访问权限,但 none 成功了。

以下是我尝试过的命令:

sudo chmod 700 /etc/letsencrypt/live/domain/cert.pem

sudo chmod 777 /etc/letsencrypt/live/domain/cert.pem

sudo chown user /etc/letsencrypt/live/domain/cert.pem

sudo chmod a+rwx /etc/letsencrypt/live/domain/cert.pem

我知道这些方法可能不安全,因为我是 Linux 及其权限系统的新手,所以任何帮助将不胜感激。

您还需要更改父目录的文件权限。 例如运行

sudo chmod +x /etc/letsencrypt/live/domain
sudo chmod +x /etc/letsencrypt/live
sudo chmod +x /etc/letsencrypt/

在我的例子中,“实时”证书文件实际上是另一个文件的符号link,但它已经具有正确的权限。如果不是,您将需要更改实际文件及其父目录的权限。您可以通过 readlink 检查文件是否为 symlink。如果它给出了结果,那么你有一个 symlink 和实际文件的位置。

我发现这个 link 很有用 https://unix.stackexchange.com/questions/13858/do-the-parent-directorys-permissions-matter-when-accessing-a-subdirectory