树莓派上php通过sudo执行root权限的程序

php中文网
发布: 2016-07-29 09:13:24
原创
2070人浏览过

1、问题和原因

        树莓派上的PHP主页无法运行具有root权限的命令或脚本原因,并不是PHP无法执行,而是Apache的权限不够!!!!

2、PHP运行shell脚本或Python的方法

       php给我们提供了system(),exec(),passthru()这三个函数来调用外部的命令.
       虽然这三个命令都能执行linux系统的shell命令,但是其实他们是有区别的:

       system() 输出并返回最后一行shell结果。
       exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。
       passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。
       相同点:都可以获得命令执行的状态码
       例子:system("/usr/local/bin/webalizer/webalizer");

立即学习PHP免费学习笔记(深入)”;

3、PHP通过sudo执行root命令或脚本

       1)开放sudo命令针对Apache用户的权限即可。

       修改sudo的权限控制文件 /etc/sudoers 文件,树莓派使用如下命令:

码上飞
码上飞

码上飞(CodeFlying) 是一款AI自动化开发平台,通过自然语言描述即可自动生成完整应用程序。

码上飞 138
查看详情 码上飞

             sudo nano /etc/sudoers        或 也可以通过如下命令编辑/etc/sudoers文件: sudo visudo

       添加如下一行内容:开放此用户的所有权限

             www-data ALL=(ALL) NOPASSWD: ALL#我的Apache的用户是www-data

       或   nobody ALL=(ALL) NOPASSWD: ALL#如果你的Apache的用户是默认的,那么用户就是nobody

       也可以添加如下内容,开放某个命令的权限:

             nobody ALL=(ALL) NOPASSWD: /usr/local/Apache/bin/Apachect1 restart 

       2)注释掉文件中的Defaults requiretty这一行,否则会出现

             sudo: sorry,you must have a tty to run sudo.

       3)存盘退出

以上就介绍了树莓派上php通过sudo执行root权限的程序,包括了Apache,require方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

相关标签:
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号