【发布时间】:2013-01-20 01:25:45
【问题描述】:
我在网络服务器上将 mediawiki 安装到某个文件夹
drwxr-xr-x /server/web/mediawiki
此目录包含文件 LocalSettings.php。最初,此文件包含纯文本形式的数据库设置(用户/密码)。
遵循指南
https://www.mediawiki.org/wiki/Manual:Securing_database_passwords
1 我尝试使用 chmod 读取保护 LocalSettings.php
-rwx------ LocalSettings.php
尝试在网络浏览器中重新加载 mediawiki 页面时出错
failed to open stream: Permission denied in .../includes/WebStart.php
所以我必须授予对 LocalSettings.php 的读取权限才能继续
-rwx---r-- LocalSettings.php
所以,由于某种原因,简单的方法对我不起作用。
问题 1:如果您知道为什么简单的方法不起作用,请解释一下。
2 比我遵循指南中描述的其他方式。我将所有数据库设置(用户/密码)从 LocalSettings.php 剪切到我放置在 Web 可访问文件夹之外的外部文件(DBpsw.php):
drwxr-xr-x /home/mediawikiDBpsw/
-rw-r--r-- /home/mediawikiDBpsw/DBpsw.php
并包含 /home/mediawikiDBpsw/DBpsw.php 到 /server/web/mediawiki/LocalSettings.php
但如您所见,文件夹 /server/web/mediawiki、/home/mediawikiDBpsw/ 和文件 /home/mediawikiDBpsw/DBpsw。 php , /server/web/mediawiki/LocalSettings.php 可供其他人访问(可读)。因此,任何有权访问服务器的“其他人”都可以通过 ssh 访问文件夹 /server/web/mediawiki 读取文件 LocalSettings.php,了解路径 / home/mediawikiDBpsw/DBpsw.php 从那里读取数据库设置(用户/密码)从 /home/mediawikiDBpsw/DBpsw.php。
问题 2:如何保护数据库设置(用户/密码)免受有权访问服务器的“其他”用户的影响?
提前谢谢你!
【问题讨论】:
-
您是否执行了此步骤:“检查您的发行版以了解网络服务器的用户是什么(这会有所不同,示例包括“apache”、“nobody”、“httpd”)。然后像这样设置密码文件的权限 [...]”?
-
秋葵,谢谢!将组更改为 Web 服务器用户解决了该问题。现在其他人无法读取该文件,但 mediawiki 作为服务器用户可以读取它。