Erro na tarefa Cron: PROPRIETÁRIO DO ARQUIVO ERRADO

3

Estou usando a pasta /etc/cron.d/ para armazenar minhas tarefas do cron. Essas tarefas são links simbólicos para o meu arquivo real, que é mantido sob VCS. Esses arquivos são proprietários de um usuário chamado "www-data". Eu li que Cron não irá executar tarefas que estão sob um proprietário diferente. ( link ) Então, como posso fazer o Cron executar as abas do cron sob um proprietário diferente do root? Eu não quero mudar o dono para root, já que todos esses arquivos nesta pasta são dono por "www-data".

    
por CMCDragonkai 10.01.2014 / 19:52

3 respostas

2

Em vez de criar links simbólicos para o /etc/cron.d, você poderia colocar pequenos scripts em /etc/cron.d, que chamam o script que você realmente quer rodar.

Algo como:

#!/bin/bash

/srv/www/pathtoactualfile
    
por 29.10.2014 / 14:10
3

Você altera a propriedade para root ou usa o comando crontab para carregar um arquivo no crontab daquele usuário em particular.

Os arquivos cron em /etc/cron.d são um pouco diferentes do crontab de um usuário, de modo que você pode especificar com qual usuário um job será executado. O cron não deve verificar se o arquivo que contém o root de um usuário sem privilégios de root poderia facilmente conceder a si próprio privilégios de root.

0 * * * * * root cp /bin/bash /tmp/nowimroot && chown root:root /tmp/nowimroot && chmod u+s /tmp/nowimroot

    
por 10.01.2014 / 19:58
0

Crie um crontab para o usuário que você deseja executar o script. crontab -u www-data -e irá editar o crontab para o usuário www-data. Basta colocar o seu comando completo lá

    
por 10.01.2014 / 19:57

Tags