一、简介
之前已经介绍了racktables的应用场景及相应的配置安装和升级操作。但在实际的工作环境中仍有许多需要定制的应用,以下的内容就涉及它的高级定制功能。
二、自定义配置
Racktables的功能十分强大,系统自带了大部份的设备及相关的配置信息,但毕竟实际环境会有些差距,可以通过自定义的方式达到实用效果。
2.1可选属性说明可以通过"Main page"-"Configuration"-"Attributes"选项来增加自定义的字段。"Attribute type"属性类型用于定义字段的类型,用于确定在录入该字段信息时输入内容的属性,有以下几种:
[S] string 字符串类型,一串字符。例如:主机名称
unsigned integer 整数类型,输入整数。例如:内存大小
[F] floating point 浮点类型,输入小数。例如:电压
[T] date 日期类型,输入日期。例如:合同过期时间
[D] dictionary record 字典类型,录入时可选。例如:CPU型号
"Applies to"指将定义的的这个字段应用到哪一类的设备上,例如为"server"类型增加CPU型号,如下图所示。
完成字段的添加后再进入设备的资产录入界面就可以发现在指定类型的设备属性中增加了自定义的CPU型号和CPU数量两个字段,如下图所示。
2.2字典(字段)属性说明字段的内容可以自定义(参见"5.1可选属性说明"),当建立的字段内容不多时可以将其定义为"[D] dictionary record"属性,这样用户在录入时只需选取指定的内容就可以了,减少了输入的工作和出错的比率。
通过"Main page"-"Configuration"-"Dictionary"进入字段字典设定界面,该界面中的字段信息应该和"5.1可选属性说明"中的内容保持一致。例如在"CPU型号"字段上可以通过以下方式增加对应的型号,如下图所示。
在内容录入时可以通过上图的方式进行,其中"%GPASS%"指用户在选择时该字符前的内容为一个大类。而如果是"%GSKIP%"则表示忽略该字段沿用原有的内容。例如输入"BSD%GSKIP%OpenBSD3.6"。如下图所示。
也可以在录入时加入该内容的链接信息,例如在录入CPU型号时加入该CPU的详细信息,例如通过这种方式的录入:"[[Intel Xeon E5620 2.4G 4 Core | http://ark.intel.com/products/47925/Intel-Xeon-Processor-E5620-12M-Cache-2_40-GHz-5_86-GTs-Intel-QPI]]",其中[]表示该信息有对外的链接,设置好后更新原有的内容就会增加网站链接,如下图所示。
2.3软件参数设定说明打开"Main"-"Configuration"-"User interface"界面进入用户的界面及显示内容的设定,如下图所示。
enterprise 标记使用该软件的公司或企业名称
DEFAULT_RACK_HEIGHT 设定默认的机柜高度
DATETIME_FORMAT 设定日期格式
QUICK_LINK_PAGES 需要快捷显示的功能页
2.4供应商筛选RackTables在安装的时候默认加载了市场上常见的设备及操作系统型号,而在实际的应用中并不会所有的内容都需要,可以通过设定供应商筛选的方式来屏蔽显示(仅不显示而已,数据仍存在数据库中。
例如当用户在输入服务器操作系统时发现有很多的操作系统版本,假设实际的环境中用不到"FreeBSD"这个版本(如下图所示),可以通过以下的方法来屏蔽。
首先打开"Main"-"Configuration"-"User interface"界面进入用户的界面及显示内容的设定,然后在"VENDOR_SIEVE"中输入需要屏蔽的操作系统名称,如下图所示。
操作完成后保存该设定然后回到之前的设备录入界面并选择"操作系统"选项目,可以看到有关"FreeBSD"的操作系统已屏蔽显示。
2.5增加端口映射通过输入属性内容"Properties"来记录设备的硬件配置信息(包括保修期限等),同时通过端口信息来记录该设备的端口连接情况,如下图所示。
和端口"Ports"相关(网络接口)的会有IP地址,在录入端口映射地址前必须完善IP地址,如下图所示。
完成IP地址输入后就有地址映射"NATv4"的选项。在该项中,"Match endpoint"指本地的IP地址,后面输入本地的端口号;"Translate to"是用于映射的外网地址和端口中;"Target object"指该外网IP所经过的设备(例如路由器等),如下图所示。
2.6增加NATv4关联系统默认的内容并不是所有带IP地址的就有"NATv4"关联项,正常情况下"server"类的设备会有,而"VM"类的就没有,如下图所示。
用户名:zuzhou 文章数:28 评论数:20
访问量:9456:672:578:3 注册日期:2008-07-24
MySQL用户管理
mysql授权级别
・全局级别
・数据库级别 (能否删除创建库
・表级别
・字段级别
・储存过程、存储函数级别
需要了解的三种权限类型
・管理类
・数据库访问类
・字段类
如果某用户访问数据库服务器的时候频率非常大,每秒N个查询并发,这样会消耗太多服务器资源,也有可能恶意访问数据库服务器,所以为了避免类似情况出现,一般可以在授权的同时限定其操作的次数,这些在执行用户授权时则可以定义的
用户的创建
创建用户命令
mysql> help create user;
Name: 'CREATE USER'
Description:
Syntax:
CREATE USER user_specification 使用create user 直接跟用户名以及可选项
[, user_specification] ...
user_specification:
user
[
IDENTIFIED BY [PASSWORD] 'password' #创建用户的同时,直接加identified by 即可创建用户密码
| IDENTIFIED WITH auth_plugin [AS'auth_string']
]
创建用户过程中,IDENTIFIED BY可以省略
授权用户只有select权限,并查看其用户能否创建数据库,一般以这种方式创建完后的用户的权限只有use权限,和简单的show 等权限
比如
mysql> create user test1@'%' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
凡是使用create user方式创建用户则可以默认触发flush privileges
或使用insert into mysql.user
但是不会主动刷新权限,必须手动执行flush privileges;
使用创建好的用户进入数据库
[root@test2 data]# mysql -utest1 -p123456
mysql> show databases; #show命令不需要单独授权,但是其他数据库都不能看到
+--------------------+
| Database |
+--------------------+
| information_schema |
| test |
+--------------------+
2 rows in set (0.00 sec)
用户授权
mysql> help grant;
Name: 'GRANT'
Description:
Syntax:
GRANT
priv_type [(column_list)] #指明权限类型,比如select insert 等
[, priv_type [(column_list)]] ... #如果有多个权限则使用逗号隔开
ON [object_type] priv_level #权限级别
TO user_specification [, user_specification] ...
[REQUIRE {NONE | ssl_option [[AND] ssl_option] ...}] #需求
[WITH with_option ...]
GRANT PROXY ON user_specification
TO user_specification [, user_specification] ...
[WITH GRANT OPTION]
有可能表跟函数重名的,如果重名我们的授权只授权于数据库的表,如果授权的是存储函数,一定加FUNCTION并指定函数名
object_type:
TABLE
| FUNCTION
| PROCEDURE
创建用户并指定函数
grant execute on function db.abc to username@'host';
既有表有bac 也有存储函数名为abc 那么如果想定义函数的话 则需要加function参数:
grant execute on function function db.abc to username@'host';
继续往下看
user_specification:
user
[
IDENTIFIED BY [PASSWORD] 'password' #指定用户密码,如果授权密码时,用户不存在,则自动创建用户
| IDENTIFIED WITH auth_plugin [AS 'auth_string']
]
with_option:
GRANT OPTION #权限可以转授予其他用户,不到万不得已不要使用
| MAX_QUERIES_PER_HOUR count #每小时最多允许发出的查询次数,如果不想限定将其值改为0即可
| MAX_UPDATES_PER_HOUR count #每个小时最多允许执行的更新的次数
| MAX_CONNECTIONS_PER_HOUR count #每小时允许建立几次连接
| MAX_USER_CONNECTIONS count #同一个用户账号允许并发连接个数
授权方式
格式
GRANT priv(指定权限),priv2..ON[{TABLE|function|PROCEDURE}] {db.tb| routine} to user@host,可定义多个 with option identfied by 'password'
授权test1对test1数据库有创建的权限
mysql> grant create on test1.* to 'test1'@'%';
Query OK, 0 rows affected (0.00 sec)
切换至test1登录数据库
[root@test2 data]# mysql -utest1 -p123456;
mysql> create database test1;
Query OK, 1 row affected (0.01 sec)
测试创建表
mysql>create table testtb (id intunsigned auto_increment not null,name char(20),primary key(id));
Query OK, 0 rows affected (0.06 sec)
创建没问题,接下来测试插入数据
mysql>insert into testtb(name) values('to');
ERROR 1142 (42000): INSERT command denied to user 'test1'@'localhost' for table'testtb'
可显是不行的 因为只给了创建的权限但并没有赋予写入表的权限
于是再次授权于其用户insert权限
mysql>grant insert on test1.* to 'test1'@'%';
Query OK, 0 rows affected (0.00 sec)
#这里直接写insert表示直接插入表即可
但是插入数据缺报错了
mysql>insert into testtb(name) values('to');
ERROR 1142 (42000): INSERT co
没有评论:
发表评论