以ec2用户身份从apache用户运行命令

我试图运行以下命令

/usr/bin/ocr 1.pdf 1.xml 

从Apache,但不幸的是,这个命令只适用于ec2用户。 所以我试图编辑我的PHP文件,使其运行如下:

 /usr/bin/sudo -u ec2-user /usr/bin/ocr 1.pdf 1.xml 

但是我得到了以下错误:

 sudo: no tty present and no askpass program specified 

所以我已经添加了以下行到/ etc / sudoers

 apache ALL=(ALL) NOPASSWD: /usr/bin/sudo -u ec2-user /usr/bin/ocr 

但我仍然有同样的错误。

唯一的工作是:

 apache ALL=(ALL) NOPASSWD: ALL 

但是,如果我是对的,它允许Apache与sudo运行任何命令,所以这是一个重大的安全漏洞。

你有什么想法,我怎么可以干净的方式做到这一点?

只需做到这一点:

 apache ALL=(ec2-user) NOPASSWD: /usr/bin/ocr