Estou recebendo este erro ao tentar iniciar um serviço systemd personalizado.
netrender-slave.service: Falha na etapa EXEC spawning /usr/local/bin/netrender-slave.sh: Permissão negada
aqui está/etc/systemd/system/netrender-slave.service
[Unit]
Description=Blender netrender slave manager
[Service]
ExecStart=/usr/local/bin/netrender-slave.sh start
ExecStop=/usr/local/bin/netrender-slave.sh stop
ExecReload=/usr/local/bin/netrender-slave.sh reload
Type=simple
[Install]
WantedBy=multi-user.target
Nesta questão , o problema era de permissões no script, mas netrender-slave.sh
parece ok:
~# ls -al /usr/local/bin
total 16
drwxr-xr-x 2 root root 4096 Dec 4 11:30 .
drwxr-xr-x 10 root root 4096 Apr 20 2016 ..
-rwxr-xr-x 1 root root 816 Dec 4 11:30 netrender-slave.sh
Nesta questão o problema era privilégios insuficientes em um dos diretórios, mas /usr/local/bin
todos aparecem semelhantes a este:
drwxr-xr-x 2 root root 4096 Dec 4 11:30 .
drwxr-xr-x 10 root root 4096 Apr 20 2016 ..
...
No entanto, nos comentários dessa mesma pergunta, isso é oferecido:
a
ls
saída não mostrou um à direita. após as permissões UGOdrwxr-xr-x
- GNU ls usa um.
caractere para indicar um arquivo com um contexto de segurança SELinux, mas nenhum outro método de acesso alternativo. Um arquivo com qualquer outra combinação de métodos alternativos de acesso é marcado com um+
caractere.
Eu não entendo como verificar se este é o meu problema.
Esta é uma maneira ruim de fazer isso, digna da Systemd House of Horror. Você pode pensar que seu único problema é a falta de um interpretador no arquivo de script. Não é. Seu maior problema, que você não está vendo, é o embrulho de um
rc
roteiro de van Smoorenburg, completo com gerenciamento de serviço do Pobre Homem totalmente desnecessário, dentro de uma unidade de serviço. Isso acaba com o processo errado como daemon e não gerencia as coisas adequadamente.Não faça as coisas dessa maneira .
Você deve dizer a seus desenvolvedores que sua
-b
opção é documentada de forma confusa.Leitura adicional