如何以特定用户身份运行 cron 作业?

Lou*_*eru 20 server automation 14.04

我有几个命令要在机器启动后执行。用户不必登录或进行任何操作即可运行。

我发现这个很好的答案建议使用@reboot关键字crontab,但是这将以 root 身份运行,我想以为这些“服务”(不是实际系统服务)创建的特定用户身份运行。

有什么方法可以对任何给定用户实现相同的效果?

kra*_*xor 33

您可以为特定用户创建一个 crontab,如下所示:

crontab -u <username> -e
Run Code Online (Sandbox Code Playgroud)

或者更简单地说,您可以crontab -e在以该用户身份登录时运行。

或者,您可以在(root)crontab 中sudo -u <username>为您的命令添加前缀,以指定用户身份运行该命令。

  • @Louis `sudo` 在您以 root 身份调用时不需要密码。基本上你不是获得权限而是放弃它们。 (2认同)