关于 Linux 文件的权限问题

2023-11-25 09:08:40 +08:00
 Inzufu
我的服务器使用 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 时则可以正常启动,初步判断就是文件的权限问题导致证书无法被读取。
但是我试过能试的所有方法,均无法解决,求大佬给点思路。
1513 次点击
所在节点    Linux
6 条回复
ysc3839
2023-11-25 09:32:10 +08:00
上级文件夹权限不对?
Inzufu
2023-11-25 09:36:05 +08:00
@ysc3839 文件目录是在 /tls/pem.pem, tls 这个文件夹的权限是 (drwxrwxrwx 2 mongodb mongodb 4096 Nov 24 17:00 tls) 应该是没问题的
ysc3839
2023-11-25 09:42:44 +08:00
那看看 mongodb 输出的日志?
life90
2023-11-25 09:47:59 +08:00
我很好奇为啥不用软连接的形式?
churchmice
2023-11-25 10:23:33 +08:00
你这个完全无法判断是文件权限的问题啊,更大的可能是端口开在了 80 或者 443 上,那你普通用户当然启动不了
你要怀疑权限问题,你 su - 到你的启动用户,然后去访问证书文件看看能不能访问,能访问就不是文件权限问题了
Inzufu
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/*" 修改目录所有者,目前问题已解决。
再次感谢各位的思路!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/995032

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX