Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP写入linux系统文件的最佳方式是什么_Php_Security_Bash_Networking - Fatal编程技术网

使用PHP写入linux系统文件的最佳方式是什么

使用PHP写入linux系统文件的最佳方式是什么,php,security,bash,networking,Php,Security,Bash,Networking,我们需要一些脚本来根据用户输入为网络服务(如DHCP、DNS和网络)生成配置文件。这些需要root访问权限,但我不知道如何以root身份运行PHP应用程序。它通过公共web界面运行。让配置文件可由web用户写入,而不是让PHP脚本根访问。让配置文件可由web用户写入,而不是让PHP脚本根访问。Awww。。。无论您的设置多么安全,向PHP或web服务器授予根权限从来都不是一个好的做法 让PHP将更改后的配置文件写入临时目录如何: /home/system/transfer/apache/httpd

我们需要一些脚本来根据用户输入为网络服务(如DHCP、DNS和网络)生成配置文件。这些需要root访问权限,但我不知道如何以root身份运行PHP应用程序。它通过公共web界面运行。

让配置文件可由web用户写入,而不是让PHP脚本根访问。

让配置文件可由web用户写入,而不是让PHP脚本根访问。

Awww。。。无论您的设置多么安全,向PHP或web服务器授予根权限从来都不是一个好的做法

让PHP将更改后的配置文件写入临时目录如何:

/home/system/transfer/apache/httpd.conf
/home/system/transfer/system/dhcp.conf
/home/system/transfer/mysql/my.ini
还有一个sudo cron作业,运行一个shell脚本,从那里获取它们,并将它们复制到适当的位置,还负责重新启动服务,以及所有这些,只需五分钟


这比让Web/PHP用户直接编写配置文件要安全一些,而且设置版本控制过程相对容易,允许将配置文件回滚到早期版本。

Awww。。。无论您的设置多么安全,向PHP或web服务器授予根权限从来都不是一个好的做法

让PHP将更改后的配置文件写入临时目录如何:

/home/system/transfer/apache/httpd.conf
/home/system/transfer/system/dhcp.conf
/home/system/transfer/mysql/my.ini
还有一个sudo cron作业,运行一个shell脚本,从那里获取它们,并将它们复制到适当的位置,还负责重新启动服务,以及所有这些,只需五分钟

这比让Web/PHP用户直接编写配置文件要安全一些,另外,设置版本控制过程相对容易,允许将配置文件回滚到早期版本

以root用户身份运行apache。 你的网站地址是什么? 以root用户身份运行apache。 你的网站地址是什么?
他可以在它的原始位置创建一个链接,并将配置文件移动到temp dir。在本例中,他不需要使用cron。假设您使用Linux:我将使用incron来监视目录,而不让PHP编写实际的配置文件,而只编写来自用户输入的数据,而不是运行cron作业。incron作业然后使用这些数据创建实际的配置文件。@Florian是的,这就是我的意思@GOsha是的,但这仍然不能解决停止/重新启动服务、管理版本等问题。此外,迁移到另一台机器也是一种痛苦。让配置文件留在原处,让cron做管理工作对我来说更吸引人。他可以在它的原始位置创建一个链接,并将配置文件移动到temp dir。在本例中,他不需要使用cron。假设您使用Linux:我将使用incron来监视目录,而不让PHP编写实际的配置文件,而只编写来自用户输入的数据,而不是运行cron作业。incron作业然后使用这些数据创建实际的配置文件。@Florian是的,这就是我的意思@GOsha是的,但这仍然不能解决停止/重新启动服务、管理版本等问题。此外,迁移到另一台机器也是一种痛苦。让配置文件留在原位,让cron来做管理工作,这听起来更吸引我。好笑。。。但请发表评论。有趣的是。。。但请发表评论。