Linux 对网络服务的编辑权限

Linux editing privilege over webservice

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

感谢任何帮助!

正如@wpercy 所建议的那样,您已经确定了哪个用户正在执行该文件。通常该用户称为 www-data ! 要找出哪个用户正在调用该服务,请使用 ps aux | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\ -f1
找出用户后,您必须更改文件夹的权限。该命令应该类似于 chown -R www-data:www-data /var/www/html/Projectfolder

特别感谢wpercy!