允许 Web 应用程序写入文件的文件权限

Oxw*_*ivi 3 webserver

我使用这些说明安装了 osCommerce 。在初始运行期间,我被要求指向它应该使用的 MySQL 数据库并设置管理员帐户。但是要保存设置,它需要修改现有文件:

由于文件权限问题,网络服务器无法将安装参数写入其配置文件。

请验证配置文件的文件权限,然后单击下面的重试按钮重试。

配置文件位于:

/var/www/oscommerce/osCommerce/OM/Config/settings.ini

我需要什么权限设置才能使 Web 应用程序能够写入、写入什么文件以及如何写入?

注意我可以编辑有问题的文件并手动保存设置,但为了避免将来出现问题,我想知道如何让 Web 应用程序正常运行。

Cae*_*ium 5

网络服务器以用户身份运行www-data

要让它修改文件,只需将该文件的所有者更改为www-data,如下所示:

chown www-data /var/www/oscommerce/osCommerce/OM/Config/settings.ini
Run Code Online (Sandbox Code Playgroud)

出于安全目的,我建议尽可能少地 chowning - 事实上,事后,当它完成时,您甚至可以将其 chown 回给原始所有者,这样网络服务器就无法再次写入它。

ls -l 将显示文件的当前所有者,即:

ls -l /var/www/oscommerce/osCommerce/OM/Config/settings.ini
-rw-r--r-- 1 root root 200 2011-11-15 17:17 /var/www/oscommerce/osCommerce/OM/Config/settings.ini
Run Code Online (Sandbox Code Playgroud)

这里的所有者是root(第二个root是文件的组所有者)。

还有其他方法可以授予网络服务器写访问权限,例如设置文件全局可写,但这有其他固有的危险(任何人都可以更改您的配置),我不建议这样做。