[20170111]设置无需口令登录数据库2.txt

[20170111]设置无需口令登录数据库2.txt

--//上午测试无需口令登录数据库,这样连接数据库使用sqlplus /@book ,这样实际上通过网络连接数据库,哪怕是在本机也是这样。
--//思考一下是否绕过。
--//前面测试链接:http://blog.itpub.net/267265/viewspace-2132220/

1.环境:
SCOTT@book> @ &r/ver1

PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

2.分析2种连接方式:
$ rlsql scott/book
...
SCOTT@book> @ &r/spid
       SID    SERIAL# SPID       PID  P_SERIAL# C50
---------- ---------- ------ ------- ---------- --------------------------------------------------
        12       2075 49033       25        213 alter system kill session '12,2075' immediate;

$ ps -ef | grep 4903[3]
oracle   49033 49032  0 14:50 ?        00:00:00 oraclebook (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
                                                                                             ~~~~~~~~~~~~~~
--//可以发现本地使用PROTOCOL=beq。(LOCAL=YES)

--//通过网络连接数据库。
$ rlsql /@book as sysdba
...
SYS@book> @ &r/spid

       SID    SERIAL# SPID       PID  P_SERIAL# C50
---------- ---------- ------ ------- ---------- --------------------------------------------------
        24       1631 49055       26        214 alter system kill session '24,1631' immediate;

$ ps -ef | grep 4905[5]
oracle   49055     1  0 14:52 ?        00:00:00 oraclebook (LOCAL=NO)
--//通过网络连接数据库,(LOCAL=NO)

3.突然想起我配置IPC协议模式,顺便补习一些概念:
http://www.orafaq.com/wiki/IPC

IPC (Inter Process Communications) is a SQL*Net protocol similar to the BEQ protocol in that it is only used for local
connections (when client and server programs reside on the same system). IPC can be used to establish Dedicated Server
and Shared Server connections. A listener is required to make IPC connections.
--//从介绍看依旧需要网络,只不过仅仅支持本机连接。

--//检查监听配置:
$ cat listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

#SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENER=OFF

SID_LIST_LISTENER =
   (SID_LIST =
    (SID_DESC =
      (SDU=32767)
      (GLOBAL_DBNAME = book)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0.4/dbhome_1)
      (SID_NAME = book)
      )
    )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)(RATE_LIMIT=YES))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.78)(PORT = 1521)(RATE_LIMIT=YES))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

ADR_BASE_LISTENER = /u01/app/oracle
#DIAG_ADR_ENABLED_LISTENER=OFF
USE_NS_PROBES_FOR_DCD=true
#DYNAMIC_REGISTRATION_LISTENER = off
INBOUND_CONNECT_TIMEOUT_LISTENER=100
CONNECTION_RATE_LISTENER=5

--//在tnsnames.ora中配置加入:
78IPC =
(DESCRIPTION =
        (ADDRESS = (PROTOCOL = IPC)(KEY=EXTPROC1521))
        (CONNECT_DATA =
                (SERVER = DEDICATED)
#                (SID = book)
                (SERVICE_NAME = book)
        )
)

--//执行如下测试:
sqlplus scott/book@78ipc
sqlplus scott/book@(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))(CONNECT_DATA=(SERVER=DEDICATED)(SID=book)(SERVICE_NAME=book)))
sqlplus scott/book@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.100.78)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=book)(UR=A)(INSTANCE_NAME=book)(SERVER=DEDICATED)))

--//以上测试ok。如何使用beq连接数据库呢,指配置连接串。
--//google,百度N久,做了许多尝试,最终配置如下通过,在tnsnames.ora中加入:
--//参考链接:http://www.freelists.org/post/oracle-l/Perfomrance-Issue-When-using-BEQ-protocol

78BEQ =
  (DESCRIPTION =
    (ADDRESS=(PROTOCOL=BEQ)(PROGRAM =oracle)(ARGV0=oraclebook)
    (ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=BEQ)))')
    (ENVS ='ORACLE_SID=book,ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/dbhome_1'))
  )

sqlplus scott/book@(DESCRIPTION=(ADDRESS=(PROTOCOL=BEQ)(PROGRAM=oracle)(ARGV0=oraclebook)(ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=BEQ)))')(ENVS='ORACLE_SID=book,ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/dbhome_1)))

--//测试通过:
$ rlsql scott/book@78beq
SCOTT@78beq> @ &r/spid

       SID    SERIAL# SPID       PID  P_SERIAL# C50
---------- ---------- ------ ------- ---------- --------------------------------------------------
        12       2091 53815       25        221 alter system kill session '12,2091' immediate;

$ ps -ef | grep 5381[5]
oracle   53815     1  0 09:08 ?        00:00:00 oraclebook (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=BEQ)))

--//很明显这样配置是使用PROTOCOL=BEQ.继续测试:

$ mkstore -wrl /u01/app/oracle/admin/wallets -createCredential 78beq scott book
Oracle Secret Store Tool : Version 11.2.0.4.0 - Production
Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
Enter wallet password:
Create credential oracle.security.client.connect_string2

$ rlsql /@78beq
SQL*Plus: Release 11.2.0.4.0 Production on Thu Jan 12 09:10:48 2017
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SCOTT@78beq> show user
USER is "SCOTT"

SCOTT@78beq> @ &r/spid

       SID    SERIAL# SPID       PID  P_SERIAL# C50
---------- ---------- ------ ------- ---------- --------------------------------------------------
        24       2281 53872       26        192 alter system kill session '24,2281' immediate;

$ ps -fp 53872
UID        PID  PPID  C STIME TTY          TIME CMD
oracle   53872     1  0 09:10 ?        00:00:00 oraclebook (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=BEQ)))

--//探究纯属无聊...^_^.

时间: 2024-07-30 10:49:19

[20170111]设置无需口令登录数据库2.txt的相关文章

[20170111]设置无需口令登录数据库.txt

[20170111]设置无需口令登录数据库.txt --以前链接提到的http://blog.itpub.net/267265/viewspace-2124815/,必须考虑一种方式登录避免口令的暴露. --想到设置Oracle Wallets,自己从来没有做过,测试看看. 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING                    VERSION        BANNER -----------------------------

SSH 使用密钥登录并禁止口令登录实践

前言 无论是个人的VPS还是企业允许公网访问的服务器,如果开放22端口的SSH密码登录验证方式,被众多黑客暴力猜解捅破菊花也可能是经常发生的惨剧.企业可以通过防火墙来做限制,普通用户也可能借助修改22端口和强化弱口令等方式防护,但目前相对安全和简单的方案则是让SSH使用密钥登录并禁止口令登录. 这是最相对安全的登录管理方式 生成PublicKey 建议设置并牢记passphrase密码短语,以Linux生成为例 Linux:ssh-keygen -t rsa [私钥 (id_rsa) 与公钥 (

[20160906]修改口令在内存中.txt

[20160906]修改口令在内存中.txt --昨天测试了在内存中修改数据块的信息,突然想到如果我修改在内存中数据块sys.user$的口令的hash值,是否可以骗过系统认证,使 --用自己定制的口令.相关链接:http://blog.itpub.net/267265/viewspace-2124466/=>[20160904]在内存修改数据.txt --仔细想想不对,我能修改sys.user$的口令的hash值在内存中数据块,但是user名要作为数据字典加入共享池中,我仅仅修改数据块显 --

[20150504]11G口令不对的问题.txt

[20150504]11G口令不对的问题.txt --前一阵子,遇到用户口令不对,导致登录缓慢的问题,主要11G加入密码错误验证延迟导致的.(哎现在看文档才知道) http://blog.itpub.net/267265/viewspace-1479718/ Preventing passwords from being broken. If a user tries to log in to Oracle Database multiple times using an incorrect p

vs2010用水晶报表DataSet数据源打印,登录数据库,急的不知道咋办了

问题描述 用vs2010,使用的水晶报表DataSet数据源打印创建了DataSet,并且手工添加了数据表,创建水晶报表,选择DataSet的表为数据源,本机调试运行没问题,发布安装后,提示要登录数据库DataTabledt_print=newDataTable();DataColumndc1=newDataColumn("khmc",Type.GetType("System.String"));DataColumndc2=newDataColumn("a

sqlplus连接登录数据库时,出现 ORA-28009错误(转)

安装了oracle10g,打算用SQLPLUS 登录数据库进行操作.打开sqlplus后,可以看到要求输入用户名,口令和主机字符串.前面两个都知道,但是后一个却不明白,查了资料才知道是安装时的全局数据库名,也就是SID,知道了这点后,我用sys登录,输入用户名,口令和主机字符串登录,但却出错.错误如下 ERROR: ORA-28009:connection as SYS should be as SYSDBA or SYSOPER. 它的意思是我登录的用户名sys应该是数据库管理员,所以要用数据

php 用户注册并且设置为己登录状态实现方法

php教程 用户注册并且设置为己登录状态实现方法,下面实例讲述了如何把表单提交的数据保存到mysql教程数据库教程,而没有实现用户注册后自动登录的功能,而实例二就实现了这种做法. <html> <body> <?php $self = $_SERVER['PHP_SELF']; $firstname = $_POST['firstname']; $lastname = $_POST['lastname']; $username = $_POST['username']; $p

Windows7怎样设置自动快速登录

Windows7怎样设置自动快速登录?下面小编将这一WIN7系统应用的小技巧分享给大家,目前已经有很多用户正在使用微软发布的Windows 7版本操作系统,而Windows 7系统中很多隐藏的小秘密也正一点点被人们所发掘出来.Windows操作系统有一个软肋总是被人们提及,那就是它的启动速度过慢,如今的Windows 7就有所改善了. 如果你想加快Windows 7系统的启动速度,可以对设置进行更改后让它自动为用户登录.当然这种方式最好仅在自己的个人电脑上使用为好,若不然可能会涉及到个人隐私和安

Windows7怎样设置自动快速登录?

  Windows7怎样设置自动快速登录?下面小编将这一WIN7系统应用的小技巧分享给大家,目前已经有很多用户正在使用微软发布的Windows 7版本操作系统,而Windows 7系统中很多隐藏的小秘密也正一点点被人们所发掘出来.Windows操作系统有一个软肋总是被人们提及,那就是它的启动速度过慢,如今的Windows 7就有所改善了. 如果你想加快Windows 7系统的启动速度,可以对设置进行更改后让它自动为用户登录.当然这种方式最好仅在自己的个人电脑上使用为好,若不然可能会涉及到个人隐私