我目前正在RHEL 5上使用Oracle 11g。
由于安全性问题,我希望禁用数据库上的OS身份验证管理。当OS管理员用户登录到OS并发出"sqlplus /“时,他们可以登录到我的数据库。我怎么才能让这个失效?
致以敬意,
萨里思
发布于 2009-08-24 05:54:07
这要由几个方面来管理。通常情况下,默认情况下不能这样做。如果您的用户可以这样做,那么这是因为您的数据库和用户已经被设置为允许这样做。
OS身份验证只在您的操作系统用户名与已设置为外部识别的数据库帐户名兼容时才有效,我的意思是它具有适当的OS认证前缀。
默认情况下,OS用户'fred‘将连接到数据库帐户'OP$fred’。如果这样的帐户不存在,他就无法连接。如果帐户存在,但没有用外部标识设置,他就无法连接。
值得注意的是,在某些情况下,这是一个安全的机制。例如,如果在OS用户'batch‘下设置cron作业,则可以为该用户创建一个数据库帐户,该帐户只能通过该OS帐户连接。通常的替代方法是在配置文件中存储用户名/密码。该文件不可避免地会被不该读的人读取,备份到一个不安全的位置.
假设您确实想阻止它们,只需执行一个ALTER批处理锁或由密码标识的ALTER批处理;
注意:对于dba组中的用户能够连接'/ AS SYSDBA‘子句,有一个单独的问题。解决这个问题的简单方法是将这些用户从dba组中删除。如果他们有sudo/root访问权限,就让他们不要这么做就行了。如果这样做不起作用,你可以尝试审计,跟踪他们做什么,并让你的经理参与。
https://serverfault.com/questions/57756
复制相似问题