cron文件夹中的脚本以什么用户身份运行?(即cron.daily,cron.hourly等)


51

如果我在CentOS上的/etc/cron.daily中放置一个脚本,它将以什么用户身份运行?它们都是以root身份还是以所有者身份运行?

Answers:


52

他们都以root。如果您另外需要,请su在脚本中使用或将crontab条目添加到用户的crontab(man crontab)或系统范围内的crontab(在CentOS上我无法告诉您的位置)中。


17

编辑:在这种情况下,我的答案实际上并不适用,请参阅下面的Zoredache的评论。抱歉,所有(特别是geekosaur)。凯尔(Kyle),请注意,如果您想以非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的cron(vixie-cron-4.1-77)类似,您也应该能够这样做。


3
他似乎在专门谈论cron.daily和cron.weekly,而不是cron.d / *中的内容。
Zoredache

4
天哪!谢谢,Zoredache;我应该更仔细地阅读问题。还没有咖啡!我会删除它,但是我认为答案中仍然有有用的信息-只是不是针对OP的-所以我倾向于让它保持立场。你怎么看?(对不起,错误地进入了,奇异龙)。
MadHatter

geekosaur回答了我的基本问题,但我还不知道cron.d文件夹的实际用途。cron.daily等很明显,crontab也是如此。但是cron.d在所有内容中都放在哪里?
凯尔·麦克法兰

1
您已经掌握了使用目录而不是单个文件来存储集合的想法是,它使软件包可以更轻松地添加条目:只需将文件拖放到dir中,而不用尝试进行一些复杂的sed调用来编辑块文本进出文件...
MadHatter

...就穆宁而言,它需要每五分钟运行一次作业,而不是root用户。这就是为什么cron。{hourly,etc.}并不适合所有人的完美示例。一些cron作业仍然希望能够指定一个频率,甚至可能是一个用户,对于他们来说,cron.d更好。其他人则不然,对于他们来说,cron。{hourly,etc.}更简单,因为他们只是转储脚本而不是脚本,而是转储脚本和定时/用户设置包装器。
MadHatter
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.