Permissões do Crond

0

Eu tenho um problema com relação às permissões em um servidor do CentOS.

Eu criei um aplicativo NetCore que lê alguns valores do dmidecode. Quando implantei o aplicativo no meu servidor CentOS, executei o seguinte comando:

chmod 777 ApplicationName

Depois, eu o executo e tudo funciona bem.

Meu problema é quando tento configurar esse aplicativo em crond, por isso:

1) service crond stop

2) crontab -e

3) * * * * * cd /ApplicationFolder && ./ApplicationName

4) service crond start

Meu aplicativo é executado, mas não consigo obter os valores de dmidecode que estou tentando ler, estou assumindo que estou tendo um problema de permissão, porque ele funciona bem ao executar como um aplicativo de console.

Eu tentei definir um usuário na linha crond fazendo:

 * * * * * root cd /ApplicationFolder && ./ApplicationName

Mas nada acontece, o aplicativo nem é iniciado ...

Alguém sabe o que estou fazendo errado?

EDITAR

Como proposto pelos comentários, alterei o crontab para:

 * * * * * /ApplicationFolder/ApplicationName

Mas o mesmo está acontecendo ...

A razão pela qual eu acho que estou tendo um problema relacionado com permissões é porque se eu executar o programa como um aplicativo os valores são registrados em um arquivo de texto, enquanto quando eu executo o aplicativo usando o crond a mesma informação é registrada mas os valores estão vazios.

Eu também li que ao ler números de série de dmidecode nós precisaríamos de privilégios de root, mas minha conta atual usando crontab já é a conta de root.

    
por lulas 01.09.2017 / 14:52

1 resposta

0

Para qualquer um que tenha um problema como esse, consegui resolver meu problema usando caminhos absolutos.

Parece que o cron tem alguns problemas com caminhos relativos ...

Basicamente, em vez de ter:

 dmidecode

Eu tenho:

 /usr/sbin/dmidecode

Isso fez o truque para mim.

    
por 02.09.2017 / 12:16