首页 > 图灵资讯 > 技术篇>正文

非Oracle用户使用操作系统验证登陆(/ as sysdba)

2023-06-25 13:59:59

今天碰巧看到一篇推荐的帖子“新用户(非oracle)不能用操作系统验证,不给dba所属组”

https://www.tulingxueyuan.cn/d/file/p/20230625/s3j325of5ri.html ~]$ id

uid=1002(grid)gid=1003(grid) 组=1003(grid)

[grid@dbaup ~]$export ORACLE_BASE=/u01/oracle

[grid@dbaup ~]$export ORACLE_HOME=$ORACLE_BASE/product/11.0.2.1

[grid@dbaup ~]$export ORACLE_SID=gbk11g

[grid@dbaup ~]$export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

[grid@dbaup ~]$export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

--Linux默许SQLNETT.AUTHENTICATION_SERVICES=beq ,操作系统和密码验证都可以使用,我下面没有none

[grid@dbaup ~]$ cat/u01/oracle/product/11.0.2.1/network/admin/sqlnet.ora

# sqlnet.ora NetworkConfiguration File: /u01/oracle/product/11.0.2.1/network/admin/sqlnet.ora

# Generated byOracle configuration tools.

NAMES.DIRECTORY_PATH=(TNSNAMES, EZCONNECT)

ADR_BASE =/u01/oracle

--ORA-010310操作系统认证: insufficient privileges

[grid@dbaup ~]$sqlplus / as sysdba

SQL*Plus: Release11.2.0.1.0 Production on Tue Aug 20 21:39:04 2013

Copyright (c) 1982,2009, Oracle.All rights reserved.

ERROR:

ORA-01031:insufficient privileges

Enter user-name:

新开一个窗口(窗口2),为grid用户添加dba附加组

[root@dbaup ~]# idgrid

uid=1002(grid)gid=1003(grid) 组=1003(grid),1001(dba)

在窗口1重新登录gird用户,查看grid用户已经有了dba附加组

[gird@dbaup ~]$ exit

logout

[root@dbaup bin]# su- grid

[grid@dbaup ~]$ id

uid=1002(grid)gid=1003(grid) 组=1003(grid),1001(dba)

--重新设置环境变量

[grid@dbaup ~]$export ORACLE_BASE=/u01/oracle

[grid@dbaup ~]$export ORACLE_HOME=$ORACLE_BASE/product/11.0.2.1

[grid@dbaup ~]$export ORACLE_SID=gbk11g

[grid@dbaup ~]$export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

[grid@dbaup ~]$export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

--成功验证登录操作系统验证

[grid@dbaup ~]$sqlplus / as sysdba

SQL*Plus: Release11.2.0.1.0 Production on Tue Aug 20 21:42:36 2013

Copyright (c) 1982,2009, Oracle.All rights reserved.

Connected to:

Oracle Database 11genterpriser Edition Release 11.2.0.1.0 - 64bit Production

With thePartitioning, OLAP, Data Mining and Real Application Testing options

SQL>

为什么会发生这种情况?

[root@dbaup ~]# find/ -group dba

/u01/oracle/product/11.0.2.1/dbaup_gbk11g//sysman/log

/u01/oracle/product/11.0.2.1/dbaup_ora11g//sysman/log

find:“/proc/20062/task/20062/fd/5”: 没有文件或目录

find:“/proc/20062/task/20062/fdinfo/5”: 没有文件或目录

find:“/proc/20062/fd/5”: 没有文件或目录

find:“/proc/20062/fdinfo/5”: 没有文件或目录

--发现/u01/oracle/product/11.0.2.1/dbaup_gbk11g//sysman/log属于dba,other没有任何权限

[root@dbaup ~]# ls-l /u01/oracle/product/11.0.2.1/dbaup_gbk11g//sysman/log

总用量 5604

-rw-r-----. 1 oracleoinstall 06月322:19 emagentfetchlet.log

-rw-r-----. 1 oracleoinstall 06月322:19 emagentfetchlet.trc

-rw-r-----. 1 oracleoinstall 9567月 29 17:04 emagent.log

-rw-r-----. 1 oracleoinstall 394307月 29 17:10 emagent_perl.trc

-rw-r-----. 1 77777月,oracleoinstalll 29 18:49 emagent.trc

-rw-r-----. 1 oracleoinstall 117947月 29 18:49 emdb.nohup

-rw-r-----. 1 oracleoinstall 06月322:18 emdctl.log

-rw-r-----. 1 oracleoinstall 34417月 29 17:04 emdctl.trc

-rw-r-----. 1 oracleoinstall 24432507月 29 18:49 emoms.log

-rw-r-----. 1 oracleoinstall 24432507月 29 18:49 emoms.trc

-rw-r-----. 1 oracleoinstall 06月322:21 nfsPatchPlug.log

drwxr-----. 2 oracleoinstall 40966月322:20 pafLogs

-rw-r-----. 1 oracleoinstall 06月322:19 patchAgtStPlugin.log

-rw-r-----. 1 oracleoinstall 52796月322:19 secure.log

[root@dbaup ~]# ls-ld /u01/oracle/product/11.0.2.1/dbaup_gbk11g//sysman/log

drwxr-x---.3 oracle dba 40967月 29 17:04/u01/oracle/product/11.0.2.1/dbaup_gbk11g//sysman/log

结论:oracle以外的用户在打开操作系统验证时,需要添加dba组才能使用操作系统验证

上一篇 三种批量删除PLSQL写法效率的比对
下一篇 从trc查找死锁的问题

文章素材均来源于网络,如有侵权,请联系管理员删除。