Oracle用户管理:
SQL*Plus
create user 用户名 identified by 密码; //创建用户
grant 权限(dba=管理员,resource=普通用户,connect=访客) to 用户名; //授权
drop user 用户名 cascade; //删除用户,加cascade会把用户创建的所有东西删除
Linux设置用户超时:
/etc/profile //主要控制全局变量等
TMOUT //设置用户无操作时间,自动断开连接,全局,单位为秒
Linux查看用户账户限制:
/etc/login.defs //主要控制密码有效期
PASS_MAX_DAYS //用户密码最长使用周期
PASS_MIN_DAYS //用户密码最短使用周期
PASS_MIN_LEN //用户密码最短长度
PASS_WARN_AGE //密码过期前提示
MD5_CRYPE_ENAB //对用户密码进行MD5加密
/etc/pam.d/system-auth //主要控制密码复杂度等
password requisite pam_cracklib.so
retry //如果密码强度不够,允许重输的次数
difok //允许新旧密码相同字符的个数
minlen //最短密码长度
dcredit //限制新密码必须有多少个数字
ucredit //限制新密码必须有多少个大写字母
lcredit //限制新密码必须有多少个小写字母
ocredit //限制新密码必须有多少个特殊字符
/etc/pam.d/login //主要控制登陆次数,如果限制所有方式,则修改system-auth
auth required pam_tally2.so //主要控制登录次数和锁定用户
even_deny_root //也限制root用户的登陆次数
deny //设置普通用户和root用户连续错误登陆的最大次数
unlock_time //设定普通用户锁定后的解锁时间,单位是秒
root_unlock_time //设定root用户锁定后的解锁时间,单位是秒
Oracle查看用户账户限制:
SQLPlus:select from dba_profiles; //控制密码策略和系统资源
密码策略:
PASSWORD_LOCK_TIME //登录失败达到一定次数后的账户锁定时间,单位为天
PASSWORD_VERYFY_FUNCTION //放置密码验证脚本
FAILED_LOGIN_ATEMPTS //账户被锁定前最大登录次数
PASSWORD_LIFE_TIME //密码最大使用周期,单位为天
PASSWORD_REUSE_TIME //密码重用前的最大天数
PASSWORD_REUSE_MAX //密码被重用前改变的次数 系统资源:
SESSION_PER_USER //限制用户并发会话数
CPU_PER_SESSION //会话的CPU时间限制,单位百分之一秒
CPU_PER_CALL //指定一次调用的CPU时间限制,单位百分之一秒
CONNECT_TIME //指定会话的总的连接世界,单位为分钟
IDLE_TIME //指定会话超时时间
LOGICAL_READS_PER_SESSION //指定一个会话允许读的数据块的数量,包括内存和硬盘
LOGICAL_READ_PER_CALL //指定一次SQL所允许读的数据块的最大数量
PRIVATE_SGA //指定一个会话在共享池的最大分配空间,单位为字节
COMPOSITE_LIMIT //指定一个会话的总的资源消耗,以service units单元表示
//Oracle默认密码控制函数为不允许与用户名相同、最小密码长度为4、(密码不允许包含welcome、user、account、database、password、computer、abcd)、(需要包含数字、字母和符号)、不能与上次的密码有3个字符相同、登录失败3次后锁定一分钟、密码最长使用60天
Oracle远程管理数据加密:
sqlnet.ora
sqlnet.encryption=true //对远程管理数据进行加密
Oracle查看所有用户状态;
SQLPlus
select username,account_status from dba_users; //查看所有用户名,用户状态
select from all_users; //查看所有用户名,查看所有用户ID和创建日期
Oracle查看特定用户被授予的角色和系统特权1:
SQLPlus
select from dba_role_privs where grantee=‘用户名‘; //查询用户的角色
select from dba_sys_privs where grantee=‘用户名‘; //查询用户的系统特权
select from dba_tab_privs where grantee=‘用户名‘; //查询用户包含的对象权限
Oracle审计功能:
$ORACLE_HOME/dbs/init.ora
audit_trail //如果为true,启用审计,记录存放在sys.aud$表
audit_file_dest //如果上一条为os,需要指定该参数,审计记录保存在该参数指定的目录
SQL*Plus
alter system set audit_trail=none scope=spfile;
Oracle禁用操作系统认证登录数据库:$ORACLE_HOME/network/admin/sqlnet.oraSQLNET.AUTHENTICATION_SERVICES=(NONE)