% cd DATADIR
配置任何在数据目录下的文档属主为由用于运行服务器的账号拥有(您必须以root执行这步)。在本文使用mysqladm和MySQLgrp作为该账号的用户名和组名。您能够使用下列命令之一改变属主:
# chown mysqladm.MySQLgrp .
# find . -follow -type d -print | xargs chown mysqladm.MySQLgrp
配置您的数据目录和数据库目录的模式使得他们只能由mysqladm读取,这阻止其他用户访问您数据库目录的内容。您能够用下列命令之一以root或MySQLadm身份运行。
% chmod -R go-rwx .
% find . -follow -type d -print | xargs chmod go-rwx
数据目录内容的属主和模式为mysqladm配置。现在您应该确保您总是以MySQLadm用户运行服务器,因为现在这是唯一由访问数据库目录权限的用户(除root)。
在完成这些配置后,您最终应该得到下面的数据目录权限:
% ls -l total 10148 drwxrwx--- 11 mysqladm MySQLgrp 1024 May 8 12:20 . drwxr-xr-x 22 root wheel 512 May 8 13:31 .. drwx------ 2 mysqladm MySQLgrp 512 Apr 16 15:57 menagerie drwx------ 2 mysqladm MySQLgrp 512 Jan 25 20:40 mysq drwx------ 7 mysqladm MySQLgrp 512 Aug 31 1998 sql-bench drwx------ 2 mysqladm MySQLgrp 1536 May 6 06:11 test drwx------ 2 mysqladm MySQLgrp 1024 May 8 18:43 tmp .... |
二、外部安全性-确保网络访问的安全
MySQL的安全系统是很灵活的,他允许您以多种不同方式配置用户权限。一般地,您可使用标准的SQL语句GRANT和REVOKE语句做,他们为您修改控制客户访问的授权表,然而,您可能由一个不支持这些语句的老版本的MySQL(在3.22.11之前这些语句不起作用),或您发觉用户权限看起来不是以您想要的方式工作。对于这种情况,了解MySQL授权表的结构和服务器如何利用他们决定访问权限是有帮助的,这样的了解允许您通过直接修改授权表增加、删除或修改用户权限,他也允许您在检查这些表时诊断权限问题。
关于如何管理用户账号,见《MySQL的用户管理》。而对GRANT和REVOKE语句周详描述,见《MySQL参考手册》。
2.1 MySQL授权表的结构和内容
通过网络连接服务器的客户对MySQL数据库的访问由授权表内容来控制。这些表位于mysql数据库中,并在第一次安装MySQL的过程中初始化(运行MySQL_install_db脚本)。授权表共有5个表:user、db、host、tables_priv和columns_priv。
表1 user、db和host授权表结构
访问范围列
user db host Host Host Host User Db Db Password User |
数据库/表权限列
Alter_priv Alter_priv Alter_priv Create_priv Create_priv Create_priv Delete_priv Delete_priv Delete_priv Drop_priv Drop_priv Drop_priv Index_priv Index_priv Index_priv Insert_priv Insert_priv Insert_priv References_priv References_priv References_priv Select_priv Select_priv Select_priv Update_priv Update_priv Update_priv File_priv Grant_priv Grant_priv Grant_priv Process_priv Reload_priv Shutdown_priv |
表2 tables_priv和columns_priv属权表结构
访问范围列
tables_priv columns_priv Host Host Db Db User User Table_name Table_name Column_name |
权限列
Table_priv Column_priv
授权表的内容有如下用途:
user表
user表列出能够连接服务器的用户及其口令,并且他指定他们有哪种全局(终极用户)权限。在user表启用的任何权限均是全局权限,并适用于任何数据库。例如,假如您启用了DELETE权限,在这里列出的用户能够从任何表中删除记录,所以在您这样做之前要认真考虑。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




