freddiefujiwra Asked: 2009-05-27 17:35:18 +0800 CST2009-05-27 17:35:18 +0800 CST 2009-05-27 17:35:18 +0800 CST 错误发生在来自 crontab 的 sudo 中的命令 772 当我执行shell时,却是由cron执行“sudo: sorry, you must have a tty to run sudo”出现。但这应该如何处理? cron sudo 3 个回答 Voted gigawatt 2010-02-24T08:17:42+08:002010-02-24T08:17:42+08:00 您还可以通过以下方式简单地将 sudo 重新配置为不需要tty: 编辑(作为根)文件 /etc/sudoers 并注释掉上面写着的行: Defaults requiretty Best Answer LapTop006 2009-05-27T18:15:20+08:002009-05-27T18:15:20+08:00 您不需要 sudo 以 cron 中的其他用户身份运行程序(至少使用系统 crontab)。 只需将用户字段从 root 更改为目标用户。 如果你真的想要 su 确实可以在 cron 中工作。 pgs 2009-06-03T08:01:26+08:002009-06-03T08:01:26+08:00 您可以添加NOPASSWD:到 sudoers 文件中的相关条目以阻止它要求输入密码,我认为这会有所帮助。 您最好首先从所需用户的 crontab 运行它,并避免使用 sudo。 要编辑 fred 的 crontab: su - fred crontab -e
您还可以通过以下方式简单地将 sudo 重新配置为不需要tty:
编辑(作为根)文件
并注释掉上面写着的行:
您不需要 sudo 以 cron 中的其他用户身份运行程序(至少使用系统 crontab)。
只需将用户字段从 root 更改为目标用户。
如果你真的想要 su 确实可以在 cron 中工作。
您可以添加
NOPASSWD:
到 sudoers 文件中的相关条目以阻止它要求输入密码,我认为这会有所帮助。您最好首先从所需用户的 crontab 运行它,并避免使用 sudo。
要编辑 fred 的 crontab: