0

我在网络服务器上将 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:如何保护数据库设置(用户/密码)免受有权访问服务器的“其他”用户的影响?

先感谢您!

4

1 回答 1

1

带有数据库设置的文件/home/mediawikiDBpsw/DBpsw.php的组应更改为网络服务器的用户组(使用 chgrp)。

应该将文件的权限更改为(使用 chmod)

w-rw-r----- /home/mediawikiDBpsw/DBpsw.php

现在,mediawiki 将运行,因为网络服务器的用户将有权访问数据库设置。仍然数据库设置将是安全的,因为其他人将无法读取/home/mediawikiDBpsw/DBpsw.php(除非他们与网络服务器的用户在同一组中,情况不应该如此)。

于 2013-01-22T11:18:42.923 回答