oracle怎么查用户密码

那天,我在公司数据库组观看了一次小组讨论。
一位同事询问如何检查用户的密码。
我记得当我第一次接触Oracle数据库时就对这个问题感兴趣。
当时,我尝试使用SQL查询查看DBA_USERS表的PASSWORD列,但发现里面嵌入了一个我根本看不懂的字符串。
一位更有经验的同事随后告诉我,这些是不可逆的加密哈希,无法直接解密为明文密码。
我记得他当时说过:“你可以把‘密码1 2 3 ’写在一张纸上然后烧掉,但你无法从灰烬中找回原来的文字。

再举个例子,我曾经在网上看到一个教程,介绍了破解Oracle数据库密码的几种方法。
我有点好奇,就尝试了一下,发现即使是复杂的计算和字典攻击,成功率也极低,而且需要很长的时间。
我突然想到,这可能是Oracle在设计时考虑安全性的原因之一。
我们故意不允许用户直接查看明文密码,只是为了防止密码泄露。

但是如果用户忘记密码会怎样?目前,您可以使用ALTERUSER命令重置密码。
我记得有一次,我们公司的一位新员工忘记了密码。
我使用此命令重置了他的密码。

这意味着虽然Oracle不支持直接显示用户的明文密码,但是您可以以正确的方式管理用户的密码。
这可能就是数据库安全设计的初衷,防止用户凭证被轻易泄露。
等等,我还有一件事想知道:如果我们能够设计一个更加人性化的密码重置流程,用户使用数据库不是更方便吗?

想问一下怎样查看Oracle数据库的用户名和密码?

粗略来说,默认的Oracle用户只有几个,但使用前需要更改密码。
这很困难,因为默认密码太公开了。
正因为如此,我们去年推出的项目被黑客攻击了两次。

我们先来说说最重要的sys/change_on_install。
这是超级用户。
初始密码是白纸黑字写的。
去年我们接手了一个十年前的旧数据库,发现我们在运维的时候连密码都没有改,而是直接用root连接。
说实话,当时很混乱。
另一点是系统/管理者。
该用户权限较高,但主要用于备份、恢复等日常维护。
还有一个更重要的细节。
Scott/tiger - 教育帐户。
密码为空,无法在生产环境中使用。
起初我以为这是一个普通用户,但后来我发现事实并非如此。
这东西甚至不能阻止你登录。

等等,还有别的东西。
除了更改密码之外,您还需要控制这些帐户的默认权限。
我们去年完成的一个项目中,开发人员直接给系统用户授予写权限,导致很大的表空间被损坏。
等等,等等,等等,建议锁定系统和系统的默认密码,让非运维人员根本无法登录。

新项目建议直接删除默认账号,重新创建账号,按照缩小原则授予权限。
但在测试环境下,scott/tiger还是非常好用的,省去了你每次的麻烦。

oracle数据库怎么查询所有用户密码

Oracle 无法找到用户密码的明文。
加密存储。
使用 DBA 权限查看加密哈希。
从 dba_users 中选择用户名和密码;。
1 1 g 使用 SELECT 用户名和密码 FROM sys.user$ WHERE name is NOT IN('SYS','SYSTEM');。
密码列是一个哈希值。
无法破译。
使用用户名 ALTER USER IDENTIFIED BY new password; 重置密码。
示例:更改用户 scott IDENTIFIED BY Tiger1 2 3 ;。
要查看密码到期日期,请使用 SELECT username, account_status, expiry_date FROM dba_users;。
Oracle 1 0g 使用带有盐值的 SHA-1 加密。
直接检查密码是否违规。
使用 AUDIT CREATE SESSION BY ACCESS;登录审核系统。
有关远程身份验证密码,请参阅 ORAPWD 文件。
导出用户不会导出密码。
数据库管理员权限操作。