最模板 - 外贸网站建设,外贸网站模板

最模板

当前位置: 首页 > 建站教程 > mysql教程 >

MySQL服务器内部安全数据目录访问(2)

时间:2014-05-31 01:41来源:未知 作者:最模板zuimoban 点击:
1) 在服务器主机上安装您的MySQL服务器,但使用与正式服务器不同的端口、套接字和数据文件。 2) 运行mysql_install_db 初始化您的数据目录。这将允许您作为

1) 在服务器主机上安装您的MySQL服务器,但使用与正式服务器不同的端口、套接字和数据文件。

2) 运行mysql_install_db 初始化您的数据目录。这将允许您作为MySQL的root 用户访问服务器,因此您将具有完全控制服务器访问机制的权利。它还建立了一个test 数据库。

3) 将您想窃取的表的相应文件拷贝到服务器数据目录下的test 子目录中。

4) 启动作案服务器。您可以随意访问这些表。SHOW TABLES FROM test 将显示您拥有一个被窃取表的备份, SELECT * 将显示任何这些表的全部内容。

5) 如果更坏一点,打开服务器的匿名用户账号的许可权,使任何人都能从任何地方连接到该服务器来访问您的test 数据库。现在,您已经向全世界公布了这些被偷窃的表。
考虑一下刚才的情况,然后颠倒过来想。您希望有人对您这样做吗?当然不要。
通过在数据目录中执行ls -l 可以确定数据目录中是否包含非安全的文件或目录。应查看具有以开启的“组”或“其他”许可权的文件或目录。以下是一个非安全数据目录的部分列表,是该数据目录中的一部分数据库目录:

\

正如您所看到的,有些数据库目录有正确的许可权,而有些则不是这样。本例中的情况是由于时间引起的。较老的服务器创建了限制较少的许可权,且较老的服务器与较新的服务器相比,在设置许可权方面不严格(请注意,有更多限制的目录, menager 和t m p,都有更为新的日期)。MySQL当前的版本确保这些文件只对服务器运行的用户可读。

让我们来安排这些许可权,使得只有服务器的用户才能访问它们。主要的保护手段来自由UNIX 文件系统本身提供的工具,这些工具可设置文件和目录的所有权及方式。操作步骤如下:

1) 定位到数据目录中:% cd DATADIR

2 ) 设置该数据目录下所有文件的所有权为运行该服务器的账号所拥有(必须以root 身份执行这一步)。在本书中,笔者对此账号的用户名和组名使用mysqladm 和mysqlg r p。可以用下列命令之一修改所有权:

# chown -R mysqladmin.mysqlgrp

# find . -follow -type d -print | xargs chown mysqladmin.mysqlgrp

3 ) 修改数据目录和数据库目录的方式,使得它们仅对于mysqladm 是可读的。这样防止了其他用户访问数据目录的内容。可以利用下列命令之一来进行,这些命令或者以root 或者以mysqladm 运行(后者更好,可以使作为root 运行的命令数量最小化): (责任编辑:最模板)

------分隔线----------------------------
栏目列表
推荐内容