前面我们说了如何使用编写一段PHP程序代码去执行Linux服务器系统的相关命令还获得一些服务器状态信息的方法,但是由于Web Server以及PHP的实现方式所限,我们在现实环境中很难利用PHP去调用一些Linux中需要root权限才能执行的程序,对此,我从网上找到另外一种方式来绕开这个限制。首先先写个c程序中转调用系统命令,然后用PHP去执行此c程序。

首先写个c文件,比如/usr/local/boear/w.c,内容如下

#include #include #include #include

int main()

{

uid_t uid ,euid;

//note 获得当前的uid

uid = getuid();

//note 获得当前euid

euid = geteuid();

//note 交换这两个id

if(setreuid(euid, uid))

perror("setreuid");

//note 执行将要执行linux系统命令

system("/usr/bin/w");

return 0;

}

编译该文件gcc -o w -Wall w.c,这时会在当前目录下生成程序w。

改变此程序的属主chmod u+s ./w。

然后再编写一个PHP页面,内容如下。放在web目录下,访问就会输出当前的服务器负载情况。

按照上面的实例,我们可以用PHP来做任何我们想执行的Linux系统命令,SVN更新,服务器监控,备份,恢复,日常维护等等。

php root权限执行命令,如何使用PHP执行需要root权限的系统命令相关推荐

  1. Linux执行命令提示Password,linux执行passwd命令挂起

    今天有同事打电话来说有台机器不能更改root密码,而且root用户也没密码,于是普通用户登录上去,su到root,执行passwd命令 root@[/root]$ passwd 结果就一直挂在这了,没 ...

  2. linux脚本无法执行命令,为什么Shell脚本执行不成功?原来是这样

    Shell脚本语言是linux系统中内置的一门非常强大的语言,非常善于处理操作系统层面的应用,我们从网上下载的很多应用的安装和启动往往都是用Shell脚本语言写的.可是初步开始使用linux的小伙伴是 ...

  3. salt 执行命令等待_saltstack异步执行命令

    Saltstack异步执行命令 salt执行命令有时候会有超时的问题,就是命令下发下去了,部分主机没有返回信息,这时候就很难判断命令或任务是否执行成功.因此,salt提供异步执行的功能,发出命令后立即 ...

  4. python远程登录并执行命令_Python - 远程SSH执行命令

    前言 在自动化运维中经常需要通过ssh批量操作服务器,利用Python的paramiko模块就快速完成工作. 安装 pip install paramiko 使用SSHClient类 SSHClien ...

  5. bash忽略错误继续执行_shell 执行命令失败则中断执行 类似断言

    编写shell脚本时,如果需要在某个命令执行失败则终止执行,可以使用|| 和 && 运算符结合 正常执行 cd ~ || exit 终止执行 cd ~xxxx || exit echo ...

  6. linux用root权限执行命令,Linux root权限获取之sudo命令详解

    1. 了解sudo的作用 日常操作中为了避免一些误操作,更加安全的管理系统,我们一般使用普通用户登录系统,而非root.当需要执行一些管理员命令操作时,再切换成root用户身份去执行. 普通用户切换到 ...

  7. 让lampp的nobody用户可执行远程需root权限的命令

    问题描述:web server 安装了lampp,现在需要从web server调用远程主机server的root权限的命令. Web Server:  10.53.11.44  client3 Se ...

  8. Android 命令su,获取Android的ROOT权限其实很简单,只要在Runtime下执行命令su就可以了。复制代码 代码如下:// 获取ROOT权限public void...

    获取Android的ROOT权限其实很简单,只要在Runtime下执行命令"su"就可以了. // 获取ROOT权限 public void get_root(){ if (is_ ...

  9. android获取root权限的命令

    获取Android的ROOT权限其实很简单,只要在Runtime下执行命令"su"就可以了. // 获取ROOT权限public void get_root(){if (is_ro ...

最新文章

  1. AI端计算产业应用:如何快速训练高精度模型并在设备端加速计算 | 公开课报名...
  2. 【Flask】SelectedField 同步数据库
  3. 如何到SAP官网上查询某产品的roadmap - 路线图
  4. 2016 China Collegiate Programming Contest Final
  5. python类和对象介绍_Python开发基础-Day17面向对象编程介绍、类和对象
  6. HDU1813:Escape from Tetris(IDA)
  7. mysql 每日新增表分区
  8. ElasticSearch 最全详细使用教程
  9. 自定义WP日志标题长度
  10. python Selenium启动chromedriver
  11. 批量标准矢量shp转txt工具shp2txt、批量txt转shp矢量工具txt2shp(Arcgis之国土报备、预审报批、勘测定界、自然资源系统)
  12. 英国AI医疗保健初创企业snap40获800万美元融资
  13. 如何修改Ubuntu的分辨率
  14. 免费沙箱软件模拟支付_小游戏虚拟支付沙箱测试报错
  15. 浅析国有企业外部董事如何履职
  16. 软导作业2016年11月27日16:32:47
  17. 知道计算机组装,电脑组装不担心被电脑店套路,就要懂得如何查看电脑的硬件配置...
  18. 列举3个短视频类的产品,并分析其目标用户、主打需求、竞争优势等
  19. C语言心算程序设计抽奖程序,幼儿园大班数学优质课:抽奖游戏
  20. STC15单片机-整合代码,完成软件设计

热门文章

  1. intellij Find Usage 查找符号使用快捷键alt + f7在ubuntu下无法使用的解决方法
  2. 百度AI学习:一、语音识别
  3. python的复数实部和虚部都是整数_Python(一)
  4. 摩托罗拉edge X30屏下版真机首曝:四边等宽 屏下显示效果出众
  5. 大学生起诉小米获赔流量费1元
  6. 总裁徐雷“接管”京东 但拍板的仍是刘强东
  7. 中国移动订330万台Redmi K40系列 网友:怪不得抢不到
  8. 理想汽车致歉并宣布召回10469台车,官方:不影响后续生产和销售
  9. 会买单吗?李楠创办的怒喵科技发布新品牌了,推出潮流无线桌面产品
  10. 华为P40售价曝光:有点不敢相信