web-dev-qa-db-ja.com

適切なグループ権限がある場合でも、「ステップEXECの生成に失敗しました」

基本的なWebサーバーの権限を設定していますが、systemdでサーバーを起動するのにいくつかの問題があります。

私の仕事の説明では、次のようにユーザーとグループを「foo」に設定しました。

[Service]

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

User=foo
Group=foo

Websiteディレクトリのグループを再帰的にfooに変更し、グループにsiteバイナリの実行権限を与えるようにしました。それでも問題が解決しない場合、chownのディレクトリ全体をfoodしました。これがls -labinディレクトリに表示されます。

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

これを引き起こしている可能性のあるアイデアはありますか?

3
Nathan

もう少しいじってみたところ、ツリーの上位にあるディレクトリ(つまり、/home/otheruser)はfooによる実行を許可していませんでした。 Websiteディレクトリには適切な権限がありましたが、上記のディレクトリにはありませんでした。これが失敗の原因でした。

2
Nathan