数据库平安性问题一向是环绕着数据库打点员的恶梦,数据库数据的丢失踪以及数据库被犯警用户的侵入使得数据库打点员身心倦怠不胜。环绕数据库的平安性问题提出了一些平安性策略,但愿对数据库打点员有所辅佐。对于数据库数据的平安问题,数据库打点员可以参考有关系统双机热备份功能以及数据库的备份和恢复的资料。组和平安性: 0 a6 O: I p+ _& W6 n. u
在操作系统下成立用户组也是保证数据库平安性的一种有用体例。Oracle轨范为了平安性目的一般分为两类:一类所有的用户都可执行,另一类只DBA可执行。在Unix情形下组设置的设置装备摆设文件是/etc/group,关于这个文件若何设置装备摆设,请参阅Unix的有关手册。
; A; F3 Y& K( t, G 保证平安性的几种体例:
" G# e# v* a. R* k$ N (1) 在安装OracleServer前,建树数据库打点员组(DBA)而且分配root和Oracle软件拥有者的用户ID给这个组。DBA能执行的轨范只有710权限。在安装过程中SQL*DBA系统权限呼吁被自动分配给DBA组。: P( e' V6 x5 [$ d O
(2) 许可一部门Unix用户有限制地访谒Oracle处事器系统,增添一个由授权用户组的Oracle组,确保给Oracle处事器适用例程Oracle组ID,公用的可执行轨范,好比SQL*Plus,SQL*Fo% H, n6 y l9 s" i1 J8 _
rms等,应该可被这组执行,然后该这个适用例程的权限为710,它将许可同组的用户执行,而其他用户不能。
, U K3 I. D7 |; P (3) 改那些不会影响数据库平安性的轨范的权限为711。注:在我们的系统中为了安装和调试的便利,Oracle数据库中的两个具有DBA权限的用户Sys和System的缺省密码是manager。为了您数据库系统的平安,我们强烈建议您该失踪这两个用户的密码,具体操作如下:! k- n0 T8 g+ G6 U' {
在SQL*DBA下键入:7 n; o8 V. g& B o2 ]. `
alter user sys indentified by password;
$ h$ H O6 V1 f- K" C& e3 L3 D; F alter user system indentified by password;, P- _7 W2 f. c5 l4 l
其中password为您为用户设置的密码。
" u. `- w3 Q5 n* U Oracle处事器适用例程的平安性:
4 W5 N1 M* J W0 F7 ] 以下是呵护Oracle处事器不被犯警用户使用的几条建议:
& s. D+ I+ m8 ^4 D4 b (1) 确保$ORACLE_HOME/bin目录下的所有轨范的拥有权归Oracle软件拥有者所有;
* p- ?, i8 F1 Y5 | j4 h* q2 n (2) 给所有用户适用便程(sqiplus,sqiforms,exp,imp等)711权限,使处事器上所有的用户都可访谒Oracle处事器;
6 Y! x' c B$ I) H8 y (3) 给所有的DBA适用例程(好比SQL*DBA)700权限。Oracle处事器和Unix组当访谒当地的处事器时,您可以经由过程在操作系统下把Oracle处事器的脚色映射到Unix的组的体例来使用Unix打点处事器的平安性,这种体例顺应于当地访谒。
% `! D, q# x( y* z 在Unix中指定Oracle处事器脚色的名目如下:0 k2 t- B# Y# F$ B% |: `- s; Z7 s; `( p
ora_sid_role[_dla]
9 w1 J8 ]9 l2 B# E: k 其中sid是您Oracle数据库的oracle_sid;
$ C' o- D0 N) H$ ? role 是Oracle处事器中脚色的名字;- A9 t9 d, `% g' A
d (可选)暗示这个脚色是缺省值;
* d; G# s; u; \, X
# I, J( y8 L8 r2 U6 T0 W% {8 [4 H$ L' ` a (可选)暗示这个脚色带有WITH ADMIN选项,您只可以把这个脚色授予其他脚色,不能是其他用户。 |