lighttpd将python脚本运行为

2024-06-16 10:11:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试从php函数shell_exec()执行一个python脚本,但是这个脚本需要root权限。在

python代码非常简单。使用库wifi python扫描所有SSID,并以JSON格式提供扫描到的各种无线网络的信息。WiFi库正在使用iwlist进行扫描,iwlist需要root权限。如果由没有root权限的用户执行,则只返回与您所连接的wifi有关的信息。在

如果我插入我的代码字符串

<?php
      echo 'Current script owner:'. get_current_user (); 
 ?>

我打印屏幕“currentscript owner:root”,但是如果我尝试运行我的代码

^{pr2}$

它只会返回有关我的debian系统所连接的网络的信息。 如何使用lighttpd webserver,我遵循了一些指南,了解了重新安装lighttpd的唯一结果。 问题是,有没有一种方法可以从lighttpd以根用户身份运行python脚本? 我哪里错了?在


Tags: 函数代码用户脚本信息权限rootshell
1条回答
网友
1楼 · 发布于 2024-06-16 10:11:21

我建议以具有适当权限的用户身份运行脚本。 这将最大限度地降低系统受到攻击的风险。在

下一步是在cron环境中以该用户的身份(在最坏的情况下是root用户)ro运行脚本,并通过数据库或缓存环境交付结果。您还可以通过套接字或文件句柄传递结果。在

永远不要让web环境以根用户身份运行脚本或任何东西,这很危险,而不是软件(lighttpd)的运行方式


如果你是个勇敢的人:

此问题属于UnixExchange,但您可以查看:

此外,还要检查您的lighttpd版本的文档,以root用户身份运行是可能的,但从任何方面来说都不健全。在

相关问题 更多 >