为什么尽管具有正确的权限,lighttpd 仍无法重新启动?

为什么尽管具有正确的权限,lighttpd 仍无法重新启动?
systemctl status lighttpd
● lighttpd.service - Lightning Fast Webserver With Light System Requirements
   Loaded: loaded (/usr/lib/systemd/system/lighttpd.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Thu 2020-09-24 15:56:39 EDT; 2s ago
  Process: 6152 ExecStart=/usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf (code=exited, status=255)
 Main PID: 6152 (code=exited, status=255)

Sep 24 15:56:39 js.dc.localsystemd[1]: Started Lightning Fast Webserver With Light System Requirements.
Sep 24 15:56:39 js.dc.locallighttpd[6152]: 2020-09-24 15:56:39: (server.c.752) opening errorlog '/var/log/lighttpd/error.log' failed: Permission denied
Sep 24 15:56:39 js.dc.locallighttpd[6152]: 2020-09-24 15:56:39: (server.c.1485) Opening errorlog failed. Going down.
Sep 24 15:56:39 js.dc.localsystemd[1]: lighttpd.service: Main process exited, code=exited, status=255/n/a
Sep 24 15:56:39 js.dc.localsystemd[1]: lighttpd.service: Failed with result 'exit-code'.

dir权限如下:

]# ls -la /var/log/lighttpd/
total 4
drw-rw-rw-  2 lighttpd lighttpd   41 Sep 24 15:54 .
drwxr-xr-x. 8 root     root     4096 Sep 24 14:49 ..
-rw-rw-rw-  1 lighttpd lighttpd    0 Sep 24 15:00 access.log
-rw-rw-rw-  1 lighttpd lighttpd    0 Sep 24 15:54 error.log

我已删除并重新创建该文件。没有启用 selinux。不知道还能尝试什么。

答案1

您的权限是错误的,无论是文件access.log还是error.log包含目录的权限/var/log/lighttpd

看起来您只是chmod 666在这些上运行了。当然,您绝对不应该出于任何原因这样做;它具有极大的破坏性,还会打开一个安全漏洞。相反,您应该只分配必要的权限。

x由于没有为任何人设置该位,因此无法访问该目录。

这些文件是全世界可写的。

修复目录的权限,使其可以遍历,并删除日志文件上不适当的全局可写位。例如:

chmod ug+rwx,o= /var/log/lighttpd
chmod ug+rw,o= /var/log/lighttpd/*.log

相关内容