avatar

麦兜的小站

MDO.INK

  • 首页
  • 随笔
  • 知识库
  • 归档
  • 动态
  • 标签
  • 关于
Home php调用外部程序(system、exec)获取sudo更高权限
文章

php调用外部程序(system、exec)获取sudo更高权限

Posted 2025-01-18 Updated 2025-01- 18
By power 已删除用户
4~5 min read

在调试服务器管理程序时,遇到了个权限问题,现在将解决方案列出如下:

当我们用php的exec或者system调用一个外部程序时,比如一个python文件,调用py文件本身没有遇到问题,但是但是py文件里执行os.system(sudo cp  filea fileb)等shell命令时,此时会遇到sudo权限问题。(服务器的命令行里调用py应该不会遇到此问题,但通过网页执行php去调用就难说了)

在服务器环境LNMP( nginx + php)下,test2.php中,PHP函数exec()执行whoami得到的结果是 www,说明是以用户www来执行命令。

| |

|

解决思路:可通过给用户www添加可使用sudo命令的权限,来使exec()函数获取更高执行权限。

以超级用户(如root用户)执行 visudo 来编辑配置文件。

在配置文件中添加(文件位置:/etc/sudoers)

| |

www ALL=(ALL) NOPASSWD: ALL

|

如下图:

至此,用户www会有近似root的执行权限。

在执行的命令前添加sudo,例:

| |

|

到此php调用python脚本的权限问题完美解决

知识库
License:  CC BY 4.0
Share

Further Reading

Jul 31, 2025

如何实现接口幂等性

通俗的说,用户在系统中有操作,不管重复多少次,都应该产生一样的效果或返回一样的结果的。 幂等性的概念 幂等(Idempotent)是一个数学与计算机学的概念,常见于抽象代数中。 f(n)=1^n//无...

Jul 19, 2025

10个npm工具包

有了npm之后,前端人员真的是过上好日子了。我们可以直接把别人写好的工具包拿来用,非常的方便。 1.day.js-轻量日期处理 npminstalldayjs importdayjsfrom'd...

Jul 17, 2025

How to set up PHP7.4 on MacOS.

Thisisallverywellandgood.Apartfromonesmallinsignificantthing… TheversionofPHPinuseiscurrently7.4. Th...

OLDER

无头浏览器 Puppeteer

NEWER

Docker容器进入的4种方式(推荐最后一种)

Recently Updated

  • 如何实现接口幂等性
  • 10个npm工具包
  • How to set up PHP7.4 on MacOS.
  • Automa:一键自动化,网页数据采集与工作流程优化专家Automa:解锁自动化
  • Mac 下用 brew 搭建 LNMP

Trending Tags

thinkphp clippings

Contents

©2025 麦兜的小站. Some rights reserved.

Using the Halo theme Chirpy