【问题标题】:Give User Permissions to Access LetsEncrypt pem files授予用户访问 LetsEncrypt pem 文件的权限
【发布时间】:2021-09-04 12:10:41
【问题描述】:

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

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

我尝试了各种命令来授予自己对文件的访问权限,但都没有奏效。

以下是我尝试过的命令:

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 及其权限系统的新手,因此非常感谢任何帮助。

【问题讨论】:

    标签: linux permissions debian lets-encrypt


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 问题在于 live 目录中包含的文件是符号链接。通过使用 readlink 查找真实文件并相应地更改其权限来解决问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-10
    • 2016-12-20
    • 1970-01-01
    • 2012-07-23
    • 1970-01-01
    • 2018-12-20
    相关资源
    最近更新 更多