我在网络服务器上将mediawiki安装到某个文件夹
drwxr-xr-x /server/web/mediawiki
此目录包含一个文件LocalSettings.php。最初,此文件包含DataBase设置(用户/密码)作为纯文本。
遵循指南
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 比我按照指南中描述的其他方式操作。我将所有DataBase设置(用户/密码)从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 :如何保护有权访问服务器的“其他”用户的数据库设置(用户/密码)?
提前谢谢!
答案 0 :(得分:1)
具有数据库设置的文件 /home/mediawikiDBpsw/DBpsw.php 的组应更改为网络服务器的用户组(使用chgrp)。
应该将文件的权限更改为(使用chmod)
w-rw-r----- /home/mediawikiDBpsw/DBpsw.php
现在,mediawiki将运行,因为webserver的用户可以访问DataBase设置。仍然DataBase设置是安全的,因为其他人不具有对 /home/mediawikiDBpsw/DBpsw.php 的读取权限(除非它们与webserver的用户在同一组中,不应该是这种情况)。