Quais são as permissões de tempo de execução de uma tarefa cron?

12

Quando uma tarefa do cron é executada com qual privilégio ela é executada?

Eu não tenho certeza sobre isso. É com os mesmos privilégios do usuário que o adicionou via crontab -e ?

    
por Jim 04.07.2013 / 23:41

2 respostas

14

Você pode especificar um usuário nas entradas do crontab do sistema assim:

# For details see man 4 crontabs

# Example of job definition:
.---------------- minute (0 - 59)
|  .------------- hour (0 - 23)
|  |  .---------- day of month (1 - 31)
|  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
|  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
|  |  |  |  |
*  *  *  *  * user-name  command to be executed

O 6º argumento pode ser um nome de usuário. Além disso, você pode colocar scripts no diretório /etc/cron.d . Os scripts assumem a mesma forma das entradas crontab descritas acima, por exemplo:

# /etc/cron.d/clamav-update
## Adjust this line...
MAILTO=root

## It is ok to execute it as root; freshclam drops privileges and becomes
## user 'clamav' as soon as possible
0  */3 * * * root /usr/share/clamav/freshclam-sleep

Você pode colocar scripts nesses diretórios, mas eles devem ser executados como root:

  • cron.daily
  • cron.hourly
  • cron.weekly
  • cron.monthly

Finalmente, você pode criar entradas crontab baseadas no usuário executando este comando como um usuário:

$ crontab -e

Essas entradas são armazenadas em arquivos com o mesmo nome do usuário neste diretório, /var/spool/cron/ :

$ sudo ls -l /var/spool/cron/
-rw------- 1 saml root 0 Jun  6 06:43 saml
    
por 05.07.2013 / 01:09
4

Sim , no entanto, tarefas que são adicionadas manualmente aos sistemas crontab (edit / etc / crontab) serão executadas com permissões absolutas (ou seja: executar como root) a menos que você especifique outro usuário. / p>     

por 04.07.2013 / 23:44