[英]How to set cronjob with non-root user?
错误:crontab:必须suid才能正常工作
我想在非root用户的docker容器中设置cronjob。 是否可以在不使用sudo且不安装cron的情况下设置cron? 我正在使用高山码头集装箱。
是的,您可以在没有sudo的特定用户中运行自己的cron,因为每个用户都将拥有crontab文件,无需显式安装。 要运行任何用户的crontab,请使用-u
选项,请注意用户必须有权使用-u
$ crontab -u <username> -e
/etc/crontab
是系统范围的crontab
。
/etc/crontab
的格式如下:
# m h dom mon dow user command
* * * * * someuser echo 'foo'
虽然crontab -e
是每个用户,但值得一提的是,没有-u参数,crontab命令会转到当前用户crontab。 您可以执行crontab -e -u <username>
来编辑特定用户crontab
。
请注意,在每个user crontab
中没有'user'
字段。
# m h dom mon dow command
* * * * * echo 'foo'
可能令人困惑的crontabs的一个方面是root也有自己的crontab。 例如crontab -e -u root
不会编辑/etc/crontab
有关更多信息,请参阅配置cron: https : //www.freebsd.org/doc/handbook/configtuning-cron.html
在大多数Linux发行版中,每个用户的crontabs通常存储在: /var/spool/cron/crontabs/<username>
我解决了它在文件/etc/cron.allow中添加执行cron作业所需的用户名。 如果此文件不存在,则必须创建它。 有关cron.allow文件的更多详细信息
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.