Cuando se ejecuta un trabajo cron con qué privilegio se ejecuta?
No estoy seguro de eso. ¿Tiene los mismos privilegios del usuario que lo agregó a través de crontab -e
?
Cuando se ejecuta un trabajo cron con qué privilegio se ejecuta?
No estoy seguro de eso. ¿Tiene los mismos privilegios del usuario que lo agregó a través de crontab -e
?
Respuestas:
Puede especificar un usuario en las entradas de crontab del sistema de la siguiente manera:
# 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
El sexto argumento puede ser un nombre de usuario. Además, puede poner scripts en el /etc/cron.d
directorio. Los scripts toman la misma forma que las entradas crontab descritas anteriormente, por ejemplo:
# /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
Puede poner scripts en estos directorios, pero están destinados a ejecutarse como root:
Finalmente, puede crear entradas crontab basadas en el usuario ejecutando este comando como un usuario dado:
$ crontab -e
Estas entradas se almacenan en archivos con el mismo nombre que el usuario en este directorio /var/spool/cron/
:
$ sudo ls -l /var/spool/cron/
-rw------- 1 saml root 0 Jun 6 06:43 saml
Sí , sin embargo, los trabajos que se agregan manualmente a los sistemas crontab (edit / etc / crontab) se ejecutarán con permisos absolutos (es decir, se ejecutan como root) a menos que especifique otro usuario.
cronjob