1. Oracle用户管理: SQL*Plus create user 用户名 identified by 密码; //创建用户 grant 权限(dba=管理员,resource=普通用户,connect=访客) to 用户名; //授权 drop user 用户名 cascade; //删除用户,加cascade会把用户创建的所有东西删除

  2. Linux设置用户超时: /etc/profile //主要控制全局变量等 TMOUT //设置用户无操作时间,自动断开连接,全局,单位为秒

  3. 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用户锁定后的解锁时间,单位是秒

  4. Oracle查看用户账户限制: SQL*Plus: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天

  1. Oracle远程管理数据加密: sqlnet.ora sqlnet.encryption=true //对远程管理数据进行加密

  2. Oracle查看所有用户状态; SQL*Plus select username,account_status from dba_users; //查看所有用户名,用户状态 select * from all_users; //查看所有用户名,查看所有用户ID和创建日期

  3. Oracle查看特定用户被授予的角色和系统特权1: SQL*Plus select * from dba_role_privs where grantee='用户名'; //查询用户的角色 select * from dba_sys_privs where grantee='用户名'; //查询用户的系统特权 select * from dba_tab_privs where grantee='用户名'; //查询用户包含的对象权限

  4. 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;

  5. Oracle禁用操作系统认证登录数据库: $ORACLE_HOME/network/admin/sqlnet.ora SQLNET.AUTHENTICATION_SERVICES=(NONE)