树莓派上php通过sudo执行root权限的程序
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了树莓派上php通过sudo执行root权限的程序,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1452字,纯文字阅读大概需要3分钟。
内容图文
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");
3、PHP通过sudo执行root命令或脚本
1)开放sudo命令针对Apache用户的权限即可。
修改sudo的权限控制文件 /etc/sudoers 文件,树莓派使用如下命令:
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通过sudo执行root权限的程序全部内容,希望文章能够帮你解决树莓派上php通过sudo执行root权限的程序所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。