PHP调用Linux命令权限不足问题解决方法
业务背景: yourcmd为我的linux程序,它对权限要求非常严格,当用php去执行yourcmd程序
系统:CentOS6.3
apache是php的执行用户
用exec函数去执行linux系统上的程序/usr/local/yourcmd/sbin/yourcmd
php代码如下:
<?php
$conf_file="/var/www/html/webroot/test.tmp";
$command="sudo/usr/local/yourcmd/sbin/yourcmd-t-f{$conf_file}";
exec($command,$out);
print_r($out);
测试结果为没有权限
Array([0]=>sudo:nottypresentandnoaskpassprogramspecified)
解决步骤:
$visudo
1)注释以下行
#Defaults requiretty
2)在文件末尾加入以下
apacheALL=(ALL)NOPASSWD:ALL Cmnd_Aliasyourcmd=/usr/local/yourcmd/sbin/yourcmd
最后测试结果
Array([0]=>Warning:memoryistoosmall:1044725760[1]=>testconfigureisok)
热门推荐
10 喜得孙子祝福语简短唯美
11 婚礼祝福语简短朴实大众
12 员工周年祝福语大全简短
13 家长回复节日祝福语简短
14 简短生日祝福语老同学
15 夜雨祝福语简短10字
16 蛋糕祝福语简短闺蜜
17 部门过年祝福语简短独特
18 简短精炼的结婚祝福语