如何从具有shell访问权限的其他用户保护DataBase设置

时间:2013-01-20 01:25:46

标签: security mediawiki

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

提前谢谢!

1 个答案:

答案 0 :(得分:1)

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

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

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

现在,mediawiki将运行,因为webserver的用户可以访问DataBase设置。仍然DataBase设置是安全的,因为其他人不具有对 /home/mediawikiDBpsw/DBpsw.php 的读取权限(除非它们与webserver的用户在同一组中,不应该是这种情况)。