Quali sono le autorizzazioni di runtime di un processo cron?


15

Quando un cron job viene eseguito con quale privilegio viene eseguito?

Non ne sono sicuro. È con gli stessi privilegi dell'utente che lo ha aggiunto tramite crontab -e?


"È con gli stessi privilegi dell'utente che lo ha aggiunto tramite crontab -e?" Sì. O tecnicamente l'utente di cui si trova crontab.
Kevin

Risposte:


18

È possibile specificare un utente nelle voci crontab di sistema in questo modo:

# 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

Il sesto argomento può essere un nome utente. Inoltre, puoi inserire gli script nella /etc/cron.ddirectory. Gli script hanno la stessa forma delle voci crontab sopra descritte, ad esempio:

# /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

Puoi inserire script in queste directory, ma sono pensati per essere eseguiti come root:

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

Infine, puoi creare voci crontab basate sull'utente eseguendo questo comando come un determinato utente:

$ crontab -e

Queste voci sono archiviate in file con lo stesso nome dell'utente in questa directory /var/spool/cron/:

$ sudo ls -l /var/spool/cron/
-rw------- 1 saml root 0 Jun  6 06:43 saml

4

, tuttavia, i lavori che vengono aggiunti manualmente al sistema crontab (modifica / etc / crontab) verranno eseguiti con autorizzazioni assolute (ad esempio: esegui come root) a meno che non si specifichi un altro utente.


Come specificheresti un utente non root?
Jim

1
Usa crontab -e normalmente come un normale utente e verrà eseguito come tale utente. :)
haneefmubarak,

O semplicemente specifica il parametro 'nome-utente' cronjob
Kamafeather,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.