今天碰巧看到一篇推荐的帖子“新用户(非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组才能使用操作系统验证