我试图运行以下命令
/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