Які дозволи на виконання роботи за допомогою cron?


15

Коли робота cron працює з якою привілеєю, яку вона виконує?

Я не впевнений у цьому. Це з тими ж привілеями користувача, що додав його через crontab -e?


"Чи з тими ж привілеями користувача, що додав його через crontab -e?" Так. Або технічно користувач, у якого він знаходиться.
Кевін

Відповіді:


18

Ви можете вказати користувача в записі системного крота так:

# 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

6-й аргумент може бути ім'ям користувача. Крім того, ви можете помістити сценарії в /etc/cron.dкаталог. Сценарії мають таку ж форму, як описані вище записи crontab, наприклад:

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

Ви можете помістити сценарії в ці каталоги, але вони призначені для запуску як root:

  • cron.daily
  • cron.hourly
  • cron.weekly
  • cron.місячно

Нарешті, ви можете створити записи на кронтабі на основі користувача, виконавши цю команду як даний користувач:

$ crontab -e

Ці записи зберігаються у файлах з тим самим іменем, що і користувач у цьому каталозі /var/spool/cron/:

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

4

Так , однак завдання, додані вручну до системного crontab (редагувати / etc / crontab), будуть виконуватися з абсолютними дозволами (тобто: запустити як root), якщо не вказати іншого користувача.


Як би ви вказали некорінного користувача?
Джим

1
Просто використовуйте crontab -e як звичайний користувач, і він буде працювати як цей користувач. :)
haneefmubarak

Або просто вказати «ім'я користувача» cronjob параметр
Kamafeather
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.