Я настраиваю разрешения для базового веб-сервера, но у меня возникают трудности с запуском сервера с помощью systemd.
В описании моей должности я установил пользователя и группу на «foo», как показано ниже:
[Service]
WorkingDirectiory=/home/otheruser/Website
ExecStart=/home/otheruser/Website/bin/site -Dhttp.port=7000
User=foo
Group=foo
Я рекурсивно изменил группу для Website
каталог в foo
, и не забудьте предоставить права на групповое выполнение для site
двоичный. Когда у меня все еще были проблемы, я chown
d весь каталог для 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
Есть идеи, что может быть причиной этого?
Поработав еще немного, я обнаружил, что некоторые каталоги выше в дереве (а именно /home/otheruser
) не разрешал выполнение foo
. В то время Website
каталог имел правильные разрешения, а указанные выше каталоги - нет, что вызывало сбой.