V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Inzufu
V2EX  ›  Linux

关于 Linux 文件的权限问题

  •  
  •   Inzufu ·
    Lilac-milena · 2023-11-25 09:08:40 +08:00 · 1520 次点击
    这是一个创建于 383 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我的服务器使用 acme.sh 获取证书,同时将证书自动通过 cat cer.cer key.key > /tls/pem.pem 命令生成为 Mongodb 可使用的证书格式,但是即使我将 pem.pem 文件的权限设置为 777 (-rwxrwxrwx 1 mongodb mongodb 5406 Nov 24 17:00 pem.pem ),以非 root 权限运行的 Mongodb 均无法启动,当把 /lib/systemd/system/mongod.service 文件中的 User 改为 root 时则可以正常启动,初步判断就是文件的权限问题导致证书无法被读取。
    但是我试过能试的所有方法,均无法解决,求大佬给点思路。
    6 条回复    2023-11-25 12:31:22 +08:00
    ysc3839
        1
    ysc3839  
       2023-11-25 09:32:10 +08:00 via Android   ❤️ 1
    上级文件夹权限不对?
    Inzufu
        2
    Inzufu  
    OP
       2023-11-25 09:36:05 +08:00
    @ysc3839 文件目录是在 /tls/pem.pem, tls 这个文件夹的权限是 (drwxrwxrwx 2 mongodb mongodb 4096 Nov 24 17:00 tls) 应该是没问题的
    ysc3839
        3
    ysc3839  
       2023-11-25 09:42:44 +08:00 via Android   ❤️ 1
    那看看 mongodb 输出的日志?
    life90
        4
    life90  
       2023-11-25 09:47:59 +08:00 via Android   ❤️ 1
    我很好奇为啥不用软连接的形式?
    churchmice
        5
    churchmice  
       2023-11-25 10:23:33 +08:00   ❤️ 1
    你这个完全无法判断是文件权限的问题啊,更大的可能是端口开在了 80 或者 443 上,那你普通用户当然启动不了
    你要怀疑权限问题,你 su - 到你的启动用户,然后去访问证书文件看看能不能访问,能访问就不是文件权限问题了
    Inzufu
        6
    Inzufu  
    OP
       2023-11-25 12:31:22 +08:00
    @ysc3839
    @life90
    @churchmice
    感谢各位,刚刚我检查了一下日志,发现是 /var/lib/mongodb/WiredTiger.turtle 这个路径没有权限访问,具体 log 是"/var/lib/mongodb/wiredtiger.turtle handle-open open permission denied", 解决方案是 "sudo chown -R mongodb:mongodb /var/lib/mongodb/*" 修改目录所有者,目前问题已解决。
    再次感谢各位的思路!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5028 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 07:54 · PVG 15:54 · LAX 23:54 · JFK 02:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.