Вопрос: Какой пользователь выполняет скрипты в папках cron? (т. е. cron.daily, cron.hourly и т. д.),


Если я поставлю скрипт в /etc/cron.daily на CentOS, какой пользователь будет запускать его? Все ли они работают как root или как владелец?


45
2018-03-14 06:45


Источник




Ответы:


Они все работают как root, Если вам нужно иначе, используйте su в скрипте или добавить запись crontab в crontab пользователя (man crontab) или общесистемный crontab (чье местоположение я не мог рассказать вам о CentOS).


44
2018-03-14 06:50





Редактировать: мой ответ на самом деле не применяется в этом случае, см. комментарий Zoredache ниже. Извините, все (особенно geekosaur). Кайл, обратите внимание, что если вы хотите регулярно запускать скрипт как пользователь, не являющийся пользователем root, может оказаться полезным следующее: просто делайте это через cron.d, а не cron. {ежечасно, ежедневно, еженедельно, ежемесячно}.

Я ненавижу противоречить, но я боюсь, что гикозавр не совсем прав. Они работают как root кроме случаев, когда указано иное, Вот часть моего окна CentOS /etc/cron.d/munin файл:

# cron-jobs for munin
MAILTO=root
1-56/5 * * * *     munin /usr/share/munin/munin-limits --force

Обратите внимание, что на основной строке (строка 3) есть имя пользователя, указанное перед исполняемым файлом. Эта конкретная запись cron работает как пользователь munin, поэтому, если ваш cron похож на CentOS 5 (vixie-cron-4.1-77), вы тоже сможете это сделать.


17
2018-03-14 07:02



Кажется, он говорит конкретно о cron.daily и cron.weekly, а не о вещах в cron.d / *. - Zoredache
D'о! Спасибо, Zoredache; Я должен внимательно прочитать вопрос. Еще нет кофе! Я бы удалил его, но я думаю, что в моем ответе есть еще полезная информация - просто не для OP, поэтому я склонен позволить этому стоять. Как вы думаете? (Извините за ошибочное вскакивание, geekosaur). - MadHatter
geekosaur ответил на мой основной вопрос, но я никогда не знал, для чего предназначена папка cron.d. cron.daily и т. д. довольно очевидны, как и crontab. Но где cron.d сидит внутри всего? - Kyle MacFarlane
Вы уже поняли, что идея использования каталогов, а не отдельных файлов для хранения коллекций заключается в том, что упростить пакет для добавления записи: просто отбросьте файл в каталог, вместо того чтобы пытаться выполнить сложный вызов sed для редактирования фрагментов текста в и из файлов ... - MadHatter
... В случае с munin, он должен запускать работу каждые пять минут, а не как root. Это прекрасный пример того, почему cron. {Hourly и т. Д.} Не подходит для всех; некоторые задания cron по-прежнему хотят указывать частоту, и, возможно, пользователь, а для них cron.d лучше. Другие этого не делают, и для них cron. {Hourly и т. Д.} Проще, поскольку они просто выгружают скрипт вместо скрипта плюс временную / пользовательскую обертку. - MadHatter