具有根访问权限的PHP脚本?
我需要从远程计算机调用PHP脚本,该脚本将调用远程服务器来更改DNS记录。这可能吗?我在测试环境中一切正常,但PHP无法访问具有根访问权限的PHP脚本?,php,Php,我需要从远程计算机调用PHP脚本,该脚本将调用远程服务器来更改DNS记录。这可能吗?我在测试环境中一切正常,但PHP无法访问/var/namdd/mydomain.com.db。这是我的一个VPS,我有根访问权限,所以访问不是问题。我只是想让剧本帮我做。有什么想法吗?假设另一台服务器正在运行BIND,文件可能由named而不是root拥有。这将是一个简单得多的选择。此外,您可以将它们设置为777,然后让PHP简单地编辑它们。立即想到三种方法: 更改文件的权限 创建一个守护进程来完成它 创建命令并
/var/namdd/mydomain.com.db
。这是我的一个VPS,我有根访问权限,所以访问不是问题。我只是想让剧本帮我做。有什么想法吗?假设另一台服务器正在运行BIND,文件可能由named而不是root拥有。这将是一个简单得多的选择。此外,您可以将它们设置为777,然后让PHP简单地编辑它们。立即想到三种方法:
sudo
配置为在没有密码的情况下运行它更改文件的权限 最简单的情况是更改文件的权限。要做到这一点,你可能至少想知道
创建一个守护进程来执行此操作 这是相当复杂的;我不能说我会推荐这个选项。从本质上讲,您有一个后台进程,它以任何必要的权限运行。此进程可以执行任何需要执行的操作,并与权限较低的进程通信。当PHP脚本需要修改该文件时,它可以向守护进程发送请求,守护进程随后可以代表PHP脚本更改该文件
命令与
sudo
这可能是最好的方法之一。本质上,您需要创建一些命令来执行您需要对文件执行的任何操作;然后,一旦您知道它在以
root
身份运行时有效(或者最好是一些特权较低的用户,他们仍然拥有必要的特权),您可以配置sudo
,让PHP用户以特权较高的用户身份执行它,而无需密码。几种可能性:1。更改权限,使您不需要root
访问;2.创建一个PHP文件可以与之通信的守护进程,其唯一目的是修改该记录;3.创建一个修改DNS记录的命令,并配置sudo
,以允许PHP用户在不使用密码的情况下运行该命令(并且只运行该命令)。更改权限以便PHP可以编辑它们可能是一个好主意,但777几乎从来都不是一个好主意。它们属于我的名为
。我担心把它们设置为777,以为这会把其他事情搞砸。Cpanel通常是编辑它们的工具。我会试试看,最坏的情况是我将权限设置回正常状态。我知道777从来都不是个好主意,但它只适用于一个域。我在家里有一个服务器,它将调用一个php脚本,如果我的家庭ip更改,php脚本将编辑dns并重新启动。我的托管服务器有DNS,因为我想在上面保留邮件(MX记录),以防我的家庭服务器出错,我不会丢失电子邮件。几乎只是一个开发设置。没什么要紧的。所以我的邮件是在VPS上托管的,但其他的东西都到我家去了。