操作系统authentication

我目前在RHEL 5上使用Oracle 11g。

由于安全问题,我想要禁用我的数据库的操作系统身份validationpipe理。 当OSpipe理员用户login到操作系统,他们发出“sqlplus /”,他们可以login到我的数据库。 我怎样才能禁用这个?

问候,

Sarith

这是由几件事情。 一般来说默认是不能这样做的。 如果你的用户可以这样做,那是因为你的数据库和用户已经被设置为允许它。

操作系统身份validation只适用于您的操作系统用户名兼容数据库帐户名已被设置为IDENTIFIED EXTERNALLY兼容,我的意思是它有适当的操作系统身份validation前缀 。

默认情况下,一个操作系统用户'fred'将连接到一个数据库账户'OP $ fred'。 如果这样的账户不存在,他不能连接。 如果该帐户存在,但没有设置IDENTIFIED EXTERNALLY他不能连接。

值得注意的是,在某些情况下,这是一个安全的机制。 例如,如果您在OS用户“批处理”下设置了cron作业,则可以为该用户创build一个数据库帐户,该帐户只能由该OS帐户连接。 一般的替代scheme是将用户名/密码存储在configuration文件中。 不可避免地,该文件被不应该读取的人读取,备份到不安全的位置….

假设你想要阻止他们,只需做一个ALTER USER批次ACCOUNT LOCK或ALTER USER批量IDENTIFIED BY密码;

注意:dba组中的用户可以使用“/ AS SYSDBA”子句进行连接。 简单的答案是从dba组中删除这样的用户。 如果他们有sudo / root权限,只要问他们不要这样做。 如果这不起作用,您可以尝试审计来跟踪他们做什么,并让您的经理参与其中。