linux - 如何通过php脚本执行终端命令

标签 linux php sudo

我有一个 php 脚本,我需要它来运行 linux 终端命令。我的问题是我需要以 sudo 的身份运行它,但它不起作用。我已经完成了 VISUDO 并添加/禁用如下:

asterisk ALL=NOPASSWD: /usr/sbin/cmd.php
Defaults!/usr/sbin/cmd.php !requiretty
#Defaults    requiretty
#Defaults   !visiblepw

但我在 apache 日志中收到此错误“sudo:不存在 tty 且未指定 askpass 程序”。仅供引用,Apache 正在作为用户 asterisk 及其 Centos 6 运行。我现在被卡住了,所以伸出援手。

谢谢

最佳答案

您的 asterisk 帐户没有 shell 登录。 sudo 用户必须有 shell 登录。在/etc/passwd 中检查它。如果没有登录,则表示无法访问 shell。

关于linux - 如何通过php脚本执行终端命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36179839/

相关文章:

c - 调用 execv 后出现奇怪的行为

javascript - 将表单数据和操作发送到 wordpress admin-ajax.php

php - MYSQL ON UPDATE CURRENT_TIMESTAMP 在使用 INSERT 或 REPLACE 时不更新?

php - 根据多列中的2行值获取表中的值

使用 sudo 权限安装 Laravel

linux - "sudo: must be setuid root"但已经root并且's'权限

linux - 为什么反引号中的嵌套引号在 bash 中有效?

linux - 套接字 : Protocol not supported error

linux - tar zxf 与 -xvf 之间的区别

linux期望sudo脚本将命令和参数视为命令