Quando um trabalho cron é executado com que privilégio ele executa?
Não tenho certeza sobre isso. Tem os mesmos privilégios do usuário que o adicionou por meio de crontab -e
?
Quando um trabalho cron é executado com que privilégio ele executa?
Não tenho certeza sobre isso. Tem os mesmos privilégios do usuário que o adicionou por meio de crontab -e
?
Respostas:
Você pode especificar um usuário nas entradas do sistema crontab da seguinte maneira:
# 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 sexto argumento pode ser um nome de usuário. Além disso, você pode colocar scripts no /etc/cron.d
diretório Os scripts têm o mesmo formato que as 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:
Finalmente, você pode criar entradas crontab baseadas no usuário executando este comando como um determinado usuário:
$ crontab -e
Essas entradas são armazenadas em arquivos com o mesmo nome que o usuário neste diretório /var/spool/cron/
:
$ sudo ls -l /var/spool/cron/
-rw------- 1 saml root 0 Jun 6 06:43 saml
Sim , no entanto, os trabalhos adicionados manualmente ao crontab do sistema (edit / etc / crontab) serão executados com permissões absolutas (por exemplo: executar como root), a menos que você especifique outro usuário.
cronjob