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


15

机器启动后,我有几个要执行的命令。用户无需登录即可运行。

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

与任何给定用户实现相同效果的方式是什么?


尝试运行'$ su [username] [command]'
LittleByBlue

Answers:


26

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

crontab -u <username> -e

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

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


谢谢,我无法与他们合作。但是我现在看到我可以为任何人创建一个crontab。这些命令以sudo作为root可以正常运行。我不知道我在那里可以使用sudo(期望它在等待密码时失败)。
2014年

2
sudo以root身份调用@Louis 时不需要密码。基本上,您没有获得许可,而是放弃了它们。
kraxor 2014年

1
@kraxor-以该用户身份登录时,您只需运行crontab -e即可。我认为这是不正确的。
bhv
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.