crontab 中的 sudo 命令发生错误

crontab 中的 sudo 命令发生错误

当我执行shell,但它是由cron执行时出现“sudo:对不起,您必须有一个tty才能运行sudo”。但是这应该如何处理?

答案1

您不需要 sudo 来以 cron 中其他用户的身份运行程序(至少使用系统 crontab)。

只需将用户字段从 root 更改为目标用户即可。

如果您确实希望 su 在 cron 中工作。

答案2

您也可以简单地重新配置 sudo 以不是需要一个 tty :

编辑(以 root 身份)文件

/etc/sudoers

并注释掉以下行:

Defaults requiretty

答案3

您可以NOPASSWD:在 sudoers 文件中添加相关条目以阻止它要求输入密码,我认为这会有所帮助。

您最好首先从所需用户的 crontab 运行它,并避免使用 sudo。

编辑 fred 的 crontab:

su - fred
crontab -e

相关内容