DM7用户管理
DM7用户管理
- 达梦数据库默认用户
SQL>select username from dba_users;
- sys ---达梦数据库的内置管理用户,不能登录数据库,数据库使用的大部分的数据字典和动态性能视图使用sys
- Sysdba---数据库的管理员
- Sysauditor----审计用户
- Syssso---安全用户
- Sysdbo----数据操作员 (安全版有,四权分立)
- 用户及密码规则
用户名称:指明要创建的用户名称,用户名称最大长度128字节;字母开头,可为a---z,0-9,$#_
密码:
口令策略:
用户密码最长为48个字节,创建用户语句password policy子句来指定口令策略。(dm.ini pwd_policy)
系统支持的口令策略
0:无策略
1:禁止与用户名相同
2:口令长度不小于9
4:至少包含一个大写字母(A-Z)
8: 至少包含一个数字(0-9)
16:至少包含一个标点符号(英文状态输入,除”和空格除外)
口令可以单独使用,也可以组合使用,比如需要策略1和2
则设置口令策略为3
密码尝试登录次数:faild_login_attemps
密码失败锁定时间:password_lock_time
密码过期时间:password_life_time
Sysusers, all_users , dba_users
案例1:为数据库设置一个用户,该账户,可以创建自己的表,有属于自己的独立表空间,用户密码要求每60天变更一次。
SQL> create tablespace tmr_test datafile '/dm7/data/DM_HBL/tmr_test01.dbf' size 32;
SQL> create user tmr_test identified by dameng123 limit password_life_time 60 default tablespace tmr_test;
SQL>select * from all_users;
- 用户角色与权限管理
系统权限(create,drop,alter 能够对数据库做什么操作)
对象权限(表,视图,过程等等)select delete update insert
角色:dba_roles;
查看用户角色。
SQL> select role from dba_roles;
查看用户权限
SQL> select grantee,granted_role from dba_role_privs where grantee='TMR_TEST';
SQL> select grantee,privilege from dba_sys_privs where grantee='PUBLIC';
用户授权
SQL> grant create table to tmr_test;
实例2:规划一个用户,账户每60天变更一次密码,密码尝试连接2次失败,账户锁定5分钟,用户可以创建新表,还可以查询dmhr.employee表。
SQL> create user tmr_test1 identified by dameng123 limit password_life_time 60,failed_login_attemps 2, password_lock_time 5;
用户授权创建表的权限
SQL> grant create table to tmr_test1;
用户授权查询表的权限
SQL> grant select on dmhr.employee to tmr_test1;
用户授权查询表中某些字段的权限
SQL> grant select(employee_name,HIRE_DATE) on dmhr.employee to tmr_test1;
回收用户查询某个表的权限
SQL> revoke select on dmhr.employee from tmr_test1;
查询用户状态,是否锁定,锁定时间。
SQL> select USERNAME,ACCOUNT_STATUS,LOCK_DATE from dba_users;
解除用户锁定。
SQL> alter user tmr_test1 account unlock;
create table tt1 (id int ,name varchar(32));
实例3:批量分配权限,权限是固定的。
角色:一类权限的集合,为了简化权限的管理,把一类用户具有的权限,集中到某个特定的角色上,把角色分给用户,方便管理。
SQL> create user tmr_test2 identified by dameng123;
创建角色
SQL> create role r1;
给角色授权
SQL> grant insert on dmhr.city to r1;
SQL> grant select on dmhr.city to r1;
SQL> grant create table to r1;
将角色授权给用户
SQL> grant r1 to tmr_test2;
SQL> conn tmr_test2/dameng123
授权角色有引用的权限
SQL> grant references any table to r1;
注意:一般情况下,创建完用户,把resource角色给用户,基本可以满足需求,对象权限,要求根据实际生产环境的要求去赋给。
- 用户维护
收回权限:revoke
SQL> revoke insert on dmhr.city from r1;
修改用户密码
alter user tmr_test2 identified by dameng123456;
锁定用户
alter user tmr_test2 account lock;
解锁用户
alter user tmr_test2 account unlock;
删除用户
drop user tmr_test2;
下面删除操作,如果用户所属数据表有数据,也会删除,慎用,删除之前,做好备份。
drop user tmr_test2 cascde;
删除角色
SQL> drop role r1;