Linux编辑特权通过webservice

时间:2017-12-08 18:23:48

标签: php python linux webserver file-permissions

我目前正在开发一个项目,它将动态获取我的工作的一些信息并在html页面中显示它们。为了实现这一点,我写了一个python脚本,它将使用PHP Web服务调用。脚本需要编辑一些文件才能工作。 基本上PHP使用执行脚本 $output = shell_exec('python script.py');
问题是,如果调用webservice,则脚本没有编辑文件所需的权限。 因此,网络服务器应使用类似 $output = shell_exec('sudo python script.py'); 的方式调用脚本 我可能需要更改项目文件夹的权限,但我不知道如何。 一些额外的信息:
我在raspian上使用树莓派3和LAMP安装作为网络服务器 文件夹结构如下:
 项目文件夹
|
- 风格(包含CSS)
-script.py
-script2.py
-filetoedit1.txt
-filetoedit2.html

感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

正如@wpercy所建议的那样,您已经确定了哪个用户正在执行该文件。通常该用户被称为 www-data ! 要找出哪个用户正在使用该服务 res.status(500).json({message : 'error'})
找出用户后,您必须更改该文件夹的权限。那个命令应该像 ps aux | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\ -f1

特别感谢wpercy!