即使具有正确的组权限,仍会出现“步骤 EXEC 生成失败”的情况

即使具有正确的组权限,仍会出现“步骤 EXEC 生成失败”的情况

我正在为基本的 Web 服务器设置权限,但在使用 systemd 启动服务器时遇到了一些困难。

在我的职位描述中,我将用户和组设置为“foo”,如下所示:

[Service]

WorkingDirectiory=/home/otheruser/Website
ExecStart=/home/otheruser/Website/bin/site -Dhttp.port=7000

User=foo
Group=foo

我递归地将目录的组更改Websitefoo,并确保将组执行权限授予二进制文件site。当仍然有问题时,我chown为 更改了整个目录foo。以下是目录ls -la中显示的内容bin

drwxr-xr-x 2 foo foo  4096 Sep  5 16:13 .
drwxr-xr-x 7 foo foo  4096 Sep  5 18:07 ..
-rwxr-xr-x 1 foo foo  8502 Sep  5 16:13 site

无论如何,当我尝试启动我的 systemd 作业时仍然收到此错误:

foo.service: Failed at step EXEC spawning /home/otheruser/Website/bin/site: Permission denied

知道是什么原因造成的吗?

答案1

经过一番折腾,我最终发现树中较高位置的某些目录(即/home/otheruser)不允许执行foo。虽然Website目录具有正确的权限,但上面的目录却没有,这导致了失败。

相关内容