1、达梦数据库有哪些用户?
SQL> select username from dba_users;
1、sys -----达梦数据库内置管理用户,不能登录数据库,数据库使用的大部分的数据字典和动态性能视图sys。
2、Sysdba -----数据库的管理员
3、Sysauditor—审计用户
4、Syssso—安全用户
5、Sysdbo—数据操作员(安全版,四权分立)
如何规划用户?
名字:字母开头,a-z,0-9,$#_
位置:
Create tablespace
密码:
2、口令策略
用户密码最长为48个字节,创建用户语句时使用 password policy子句来指定口令策略。
DM.INI PWD_POLICY
系统支持的口令策略:
0 无策略
1 禁止与用户名相同
2 口令长度不小于9
4 至少包含一个大写字母(A-Z)
8 至少包含一个数字(0-9)
16 至少包含一个标点符号(英文状态输入,除”和空格外)
口令策略可单独使用,也可组合应用,比如:需要应用策略4和8,则设置口令策略为 4+8=12
密码尝试登录次数 FAILED_LOGIN_ATTEMPS
密码失败锁定时间 PASSWORD_LOCK_TIME
密码过期时间 PASSWORD_LIFE_TIME
3、策略案例分析
SQL> select b.username, a.failed_num, a.failed_attemps from sysusers a right join all_users b on a.id=b.user_id;
案例1:为数据库设置一个用户,该账户,可以创建自己表,有属于自己的独立的表空间,用户的密码要求每60天变更一次。
Test
Create tablespace test datafile ‘/dm7/data/DAMENG/test01.dbf’ size 32;
SQL> create user test identified by Dameng1234 limit password_life_time 60 default tablespace test;
4、规划用户权限
系统权限 create drop alter 能够对数据库做什么操作。
对象权限 (表,视图,过程等等)select ,delete,update,insert
5、案例分析
案例1:
查看角色:
SQL> select role from dba_roles;
查看用户权限:
SQL> select grantee,granted_role from dba_role_privs where grantee='TEST';
SQL> select grantee,privilege from dba_sys_privs where grantee='PUBLIC';
SQL> grant create table to test;
案例2:规划一个用户,账户60天变更一次密码,密码尝试连接2次失败,账户锁定5分钟,用户还可以查询dmhr.employee表。
SQL> create user test1 identified by Test12345 limit password_life_time 60,failed_login_attemps 2,password_lock_time 5;
SQL> select b.username, a.failed_num, a.failed_attemps,a.lock_time from sysusers a right join all_users b on a.id=b.user_id;
SQL> select USERNAME,ACCOUNT_STATUS,LOCK_DATE from dba_users where username='TEST1';
SQL> alter user test1 account unlock;
一般情况,创建完用户,给resource角色,就基本上可以满足需求。具体需要根据生产环境的来。
案例3:
企业招聘一批录入人员,权限是固定的,只能录入city表。
角色:一类权限的集合。把某些特定的权限给一个固定的角色,然后再把角色分给用户。
SQL> create user test2 identified by Test12345;
SQL> create role r1;
SQL> grant insert on dmhr.city to r1;
SQL> grant references any table to r1;
SQL> grant r1 to test2;
SQL> conn test2/Test12345
SQL> insert into dmhr.city(city_id,city_name,region_id) values ('HS','洪山',7);
6、用户维护
SQL> revoke insert on dmhr.city from r1;
SQL> alter user test2 identified by Dameng12345;
SQL> alter user test account lock;
SQL> alter user test account unlock;
SQL> drop user test2;
SQL> drop user test cascade; ----慎用,删除前做备份。
SQL> drop role r1;