ubuntu - sudo in php exec
最近写防火墙的WEB版,需要在PHP中调用linux系统命令,但是防火墙有关的执行都需要管理员权限才能执行。
在ubuntu下,Apache2的运行账户默认是www-data,默认是不能通过sudo来获得管理员权限的。查了一下,试了几种做法,搞定了。
#1 为了以防万一,要查一下apache的运行账户
<?phpexec("whoami",$output,$result);print_r($output);?>
运行一下,得到当前账户www-data
#2 给与www-data sudo权限,并且免密码
命令行输入: nano /etc/sudoers 或者 visudo
插入一行 www-data ALL=(ALL:ALL) NOPASSWD:ALL
如下图所示
#3 应用
<?php exec("sudo iptables-save",$output,$result); print_r($result); ?>
如上所示,即可在管理员权限下执行shell
需要注意的是,如上的操作会给服务器带来很大的安全隐患,因为www-data用户不需密码就可以提升到管理员权限。如果Apache被坏人拿下,那么服务器也就被人轻易的拿下了~~需慎重~~
转载于:https://www.cnblogs.com/kuoaidebb/p/4286730.html
ubuntu - sudo in php exec相关推荐
- ubuntu sudo apt-get update 失败 解决方法
ubuntu sudo apt-get update 失败 解决方法 参考文章: (1)ubuntu sudo apt-get update 失败 解决方法 (2)https://www.cnblog ...
- 2021-08-13 Ubuntu sudo apt-get install 提示Media change : please insert the disc labeled
一.Ubuntu sudo apt-get install 提示Media change : please insert the disc labeled,如下图 二.解决方法如下,我装是server ...
- Linux/Ubuntu sudo不用输入密码的方法
通常我们并不以root身份登录,但是当我们执行某些命令 (command)时需要用到root权限,我们通常都是用"sudo command"来执行command.由于使用Ubunt ...
- 【Linux】虚拟机 Ubuntu sudo指令实现Gparted安装和 dsv/sda1 内存扩展
Gparted安装和 dsv/sda1 内存扩展 1. Gparted简介 2.命令实现Gparted安装和扩展(建议大家用此方法,ISO文件安装太坑爹) 3.iso实现Gparted安装和扩展 1. ...
- Ubuntu Sudo 无法解析的主机
如果对ubuntu在安装时候的主机名称不满意,可以使用如下的方法进行修改 需要注意的是如果只修改其中一个,使用sudo的时候会报"无法解析主机名称的"错误 1.进入etc目录,使用 ...
- linux php 执行python,Linux(Ubuntu)下php使用exec调用python程序返回json数据
问题起因:解决乱码问题,及解决PHP调用python外部程序的权限问题 数据中带有中文,数据来自python读取微软数据库mssql2005 server的数据 操作注意事项主要有两点: 1.pyth ...
- Ubuntu sudo 出现unable to resolve host 解决方法
Ubuntu环境, 假设这台机器名字叫abc(机器的hostname), 每次执行sudo 就出现这个警告讯息: sudo: unable to resolve host abc 虽然sudo 还是可 ...
- ubuntu sudo apt-get update 失败 解决方法
sudo apt-get update 报了一堆错误: Err http://cn.archive.ubuntu.com trusty InRelease Err http://cn.archive. ...
- ubuntu: sudo apt-get update老是失败怎么办?
1. 背景 我的Ubuntu是12 的,太老了, 执行sudo apt-get update老是失败:各种404 2. 解决办法 网上找了很多办法,都不行. 最终还是这个办法管用: 打开:Ubuntu ...
- Ubuntu sudo apt-get update提示 Failed to fetch,解决办法
问题: 执行sudo apt-get update提示:Failed to fetch chen@ubuntu:~/soft/Python-2.7.12$ sudo apt-get update Ge ...
最新文章
- Android强制设置横屏或竖屏
- Ext.net中ComboBox如何绑定数据库中的值
- 旋转图像—leetcode48
- 国科大prml15-BP
- 自制 移动端 纯原生 Slider滑动插件
- 360互联网技术训练营第七期 - “遇见”PIKA
- stream场景用法总结
- IIS 发布之后 您要找的资源已被删除、已更名或暂时不可用。 404.0 解决方法
- Windows Phone 7.5 OS版本7.10.8107.79 官方更新
- qq令牌64位密钥提取_令牌QQ号代码64位数字+字母只截图保存可转换文字再来获取口令...
- Qt自定义实现的日历控件
- yate工具的使用求教
- OFFPIPE 海底管道铺设计算分析软件
- 凉茶配方案终审 加多宝赔偿近2亿元
- 利用three建立一个3d园区
- 【西祠日志】【17】初识AngularJS,下一代Web应用的前端
- linux获取控制台窗口句柄,C#获取控制台句柄的方法
- git仓库报错【 ! [rejected] master -> master (non-fast-forward)error: failed to push some refs to】
- 我的世界服务器无限装备指令2020,我的世界手机版指令表
- 皮卡丘的python程序_皮卡丘第一种
热门文章
- opencv出错:error: (-213:The function/feature is not implemented) Unknown/unsupported array type
- 创业失败反思:市场跟销售完全是两回事
- Ubuntu 16.04上安装Code::Blocks
- php png 透明缩略图,php生成图片缩略图,支持png透明
- xp电脑多少位怎么看_怎么看电脑是32位还是64位
- linux下默认分区system的id,Linux学习笔记之系统中的分区和文件系统
- ocr 哪个好 外文_5 款堪称神器的高质量软件,每一款都好用到不想卸载
- 图书管理系统c++_图书管理功能
- mysql的读写分离工具_mysql 读写分离工具
- 频谱分析_滚动轴承的频谱分析