Um serviço está falhando ao iniciar permissões negadas - quais arquivos estão falhando?

3

Estou tentando iniciar um serviço que nossa empresa criou. Em um ambiente específico, ele falha ao iniciar três erros de "permissão negada". Não tenho certeza de quais arquivos ele está falhando, então gostaria de registrar todos os erros relacionados a permissões enquanto tento iniciar o daemon.

Eu encontrei auditd , mas não consegui colocar um relógio em todo o disco para erros especificamente relacionados a permissões. Qual é a melhor maneira de auditar todos os erros relacionados a permissões?

    
por TravisThomas 05.04.2013 / 18:19

3 respostas

5

Você pode usar strace para visualizar toda a atividade do sistema de arquivos dos processos relacionados ao daemon e ver quais falharão quando os erros de permissão negada aparecem.

Se o erro vier de um script de shell que inicia o serviço, você poderá executar sh -x /path/to/startup/script (ou bash -x /path/to/startup/script se o script começar com #!/bin/bash ) e o shell imprimirá cada linha à medida que for executado.

    
por 05.04.2013 / 18:21
3

Você pode tentar iniciar seu serviço usando strace e filtrar a saída apenas para operações relacionadas a arquivos. Para ver todos os processos filhos iniciados pelo serviço, sugiro que você tente iniciá-lo com as seguintes opções:

strace -e trace=file -f /etc/init.d/your-service-startup-script start

Isso produzirá muitos resultados, portanto, você pode encaminhá-lo para um arquivo usando -o <log filename> após strace ou enviá-lo por grep :

strace -e trace=file -f /etc/init.d/your-service-rc-script start 2>&1 | grep 'EACCES' 

Isso exibirá somente as chamadas do sistema de arquivos que falham devido a privilégios insuficientes (Permissão negada). 2>&1 é necessário para redirecionar o descritor de arquivos strace stderr para stdout para grep .

    
por 06.04.2013 / 02:41
0

Verifique as permissões de arquivo para serem executadas. Experimente:

chmod 7xx [scriptFile].

Além disso, verifique se o proprietário do arquivo é o correto. Experimente:

chown group: usuário [scriptFile]

    
por 13.09.2017 / 14:13