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

Kyl*_*ane 57 cron

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

gee*_*aur 57

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


Mad*_*ter 17

编辑:我的回答实际上不适用于这种情况,请参阅下面的 Zoredache 评论。对不起,所有(尤其是geekosaur)。Kyle,请注意,如果您想以非 root 用户身份定期运行脚本,以下内容可能会有所帮助;只需通过 cron.d 而不是 cron.{hourly,daily,weekly,monthly} 来完成。

我不想反驳,但我担心 geekosaur 不太正确。除非另有说明,否则它们以 root 身份运行。这是我的 CentOS 机器/etc/cron.d/munin文件的一部分:

# cron-jobs for munin
MAILTO=root
1-56/5 * * * *     munin /usr/share/munin/munin-limits --force
Run Code Online (Sandbox Code Playgroud)

请注意,在实质性行(第 3 行)上,在可执行文件之前指定了一个用户名。这个特定的 cron 条目以 munin 用户身份运行,因此如果您的 cron 类似于 CentOS 5 (vixie-cron-4.1-77),您应该也能这样做。

  • 哦!谢谢,佐瑞达奇;我应该更仔细地阅读这个问题。还没喝咖啡!我会删除它,但我认为我的答案中仍然有有用的信息 - 只是不适合 OP - 所以我有点倾向于让它成立。你怎么认为?(抱歉误跳了,geekosaur)。 (4认同)
  • 他似乎专门谈论 cron.daily 和 cron.weekly,而不是 cron.d/* 中的内容。 (3认同)