Kiedy zadanie cron działa z jakim uprawnieniem, wykonuje?
Nie jestem co do tego pewien. Czy ma takie same uprawnienia, jak użytkownik, który go dodał crontab -e
?
Kiedy zadanie cron działa z jakim uprawnieniem, wykonuje?
Nie jestem co do tego pewien. Czy ma takie same uprawnienia, jak użytkownik, który go dodał crontab -e
?
Odpowiedzi:
Możesz określić użytkownika we wpisach crontab systemowych w następujący sposób:
# 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
Szósty argument może być nazwą użytkownika. Dodatkowo możesz umieścić skrypty w /etc/cron.d
katalogu. Skrypty mają taką samą formę jak opisane powyżej wpisy crontab, na przykład:
# /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
Możesz umieścić skrypty w tych katalogach, ale mają one być uruchamiane jako root:
Na koniec możesz tworzyć wpisy crontab oparte na użytkownikach, uruchamiając to polecenie jako dany użytkownik:
$ crontab -e
Te wpisy są przechowywane w plikach o tej samej nazwie co użytkownik w tym katalogu /var/spool/cron/
:
$ sudo ls -l /var/spool/cron/
-rw------- 1 saml root 0 Jun 6 06:43 saml
Tak , jednak zadania dodawane ręcznie do crontab systemu (edycja / etc / crontab) będą uruchamiane z bezwzględnymi uprawnieniami (tj.: Jako root), chyba że podasz innego użytkownika.
cronjob