【发布时间】:2016-03-16 09:09:19
【问题描述】:
我有一个需要运行 linux 终端命令的 php 脚本。我的问题是我需要以 sudo 运行它,但它不起作用。我已完成 VISUDO 并添加/禁用如下:
asterisk ALL=NOPASSWD: /usr/sbin/cmd.php
Defaults!/usr/sbin/cmd.php !requiretty
#Defaults requiretty
#Defaults !visiblepw
但我在 apache 日志中收到此错误“sudo: no tty present and no askpass program specified”。仅供参考,Apache 以用户 asterisk 及其 Centos 6 身份运行。我现在被困住了,所以伸出手来。
谢谢
【问题讨论】:
-
您尝试运行的命令是“/usr/sbin/cmd.php”吗?过去当我使用 php 启动它或添加 nice 时,我遇到了问题。哦,您在 auth.log 中是否有任何错误?
-
我只是在做'服务星号停止'来检查这个概念。我检查了安全日志并显示“sudo: pam_unix(sudo:auth): conversation failed sudo: pam_unix(sudo:auth): auth could not identify password for [asterisk]”
-
嗯,我想我的星号用户有密码,现在最好的做法是什么?
-
哦...使用 visudo 您应该指定要运行的命令而不是运行它的脚本
-
星号 ALL = NOPASSWD:服务星号停止