我使服务文件 vaultwarden.service 看起来像这样(这里仅显示其中的一部分):
# The user/group vaultwarden is run under. the working directory (see below) should allow write and read access to this user/group
User=vaultwarden
Group=vaultwarden
# The location of the compiled binary
ExecStart=/home/vaultwarden/vaultwarden # user is vaultwarden, binary vaultwarden
当服务文件部分看起来像上面的代码时,我收到错误
vaultwarden.service: Failed at step EXEC spawning /home/vaultwarden/vaultwarden: Permission denied
但是当只复制二进制文件时,它就vaultwarden
可以/usr/bin/vaultwarden
工作了。我不知道问题是什么,是否存在一些问题或规则,规定不能在服务文件中执行某些用户主文件夹中的路径?我阅读了所有相关链接和帖子,并尝试了所有方法,但仍然有同样的问题。
PS 访问权限很好,我甚至将 vaultwarden 用户的整个主文件夹的所有权更改为 777,甚至更改为 root 所有者(以防 root 应该运行二进制文件,但 777 应该可以解决问题...)
有什么线索吗?
答案1
在我的服务文件中,还有以下几行:
PrivateDevices=true
ProtectHome=true
这些参数不允许对主文件夹进行操作。应将其从服务文件中注释或删除。