Maison base de données tutoriel mysql Oracle操作系统认证用户的安全性

Oracle操作系统认证用户的安全性

Jun 07, 2016 pm 03:30 PM
oracle Quoi 安全性 操作系统 用户 认证

一。什么是Oracle操作系统用户认证登录方式. 即只要在数据库中创建一个os认证用户。然后,就可以在服务器本机或远程客户端上 创建和登录一个相同用户名,就可以不需要密码连接上本地或远程的数据库了。 最典型的就是“sql / as sysdba”即不用给出用户名和密

一。什么是Oracle操作系统用户认证登录方式.

        即只要在数据库中创建一个os认证用户。然后,就可以在服务器本机或远程客户端上
    创建和登录一个相同用户名,就可以不需要密码连接上本地或远程的数据库了。
        最典型的就是“sql / as sysdba”即不用给出用户名和密码就可以登录到数据库系统中。

二。如何用os用户认证,在本机或远程登录数据库。

1.检查是否已打开了操作系统认证

  $ORACLE_HOME/network/admin/sqlnet.ora

  Windows下检查是否设为NTS.这个NTS为Oracle针对Windows专用的。
  SQLNET.AUTHENTICATION_SERVICES= (NTS)
  UNIX/Linux下,检查是否设为NONE,如果是,则要更改成ALL或注释掉那行。

2.检查密码文件参数是否为EXCLUSIVE
  show parameter REMOTE_LOGIN_PASSWORDFILE

  如不是,可以下面命令更改:
  alter system set remote_login_passwordfile=EXCLUSIVE scope=spfile;
  并且检查密码文件是否有创建,如没有,用下列命令创建并输入sys用户的密码。
     orapwd file=orapw$ORACLE_SID passwd=xcl entries=5 force=y;
  可用下面命令来检查sys用户是否有放入密码文件。
      select * from v$pwfile_users;

  附上参数remote_login_passwordfile的参数值说明:
    None: 使得oracle不使用密码文件,只能使用OS认证,不允许通过不安全网络进行远程管理。
    Exclusive: 可以使用唯一的密码文件,但只限一个数据库。密码文件中可以包括除了sys用户的其他用户。
    Shared: 可以在多个数据库上使用共享的密码文件。但是密码文件中只能包含sys用户。通常用于一个dba管理多个数据库的时候。

3.检查远程操作系统认证参数是否为TRUE
  show parameter remote_os_authent

 如不是,可以下面命令更改:
  alter system set remote_os_authent=true scope=spfile;

4. 现有的OS认证关键字与认证用户
  --查看当前数据库OS认证关键字,常为 ops$
  show parameter os_authent_prefix

  --查看现在有无OS认证用户
  SELECT username,password FROM dba_users WHERE username like 'ops$%';
  也可用 alter system set os_authent_prefix="" scope=spfile; 去掉前缀

5. 如有更改过参数,请重启数据库,使参数更改生效。否则略过.
   shutdown immediate
   startup

6. 在数据库创建一个OS认证用户
   a. 在数据库服务上,创建一个myosuser操作系统用户.

      useradd myosuser

      passwd myosuser

   b.在数据库中创建,记得用户名前要加前缀
      -- IDENTIFIED EXTERNALLY 表明此用户通过操作系统来认证
       CREATE USER ops$myosuser IDENTIFIED EXTERNALLY;
       GRANT CONNECT,RESOURCE TO ops$myosuser;
      你也可以将myosuser改成administrator,这样windows客户端连远程数据库时,更明显,更方便。

另一个要注意的地方是OS认证优先于密码文件认证.
7.数据库服务器上,用其本机os用户登录测试
   export ORACLE_SID=xcldb
   export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
   su - myosuser 
   /u01/app/oracle/product/11.2.0/db_1/bin/sqlplus /
   show user 

   注意: myosuser用户要属于dba组角色。

8. 在远程客户端机器连接服务器上的数据库
   在客户端机器上,用myosuser用户登录远程数据库.
   Windows为例:
     a. 创建一个myosuser用户
     b. 授权ORA_DBA或ORA_OPER角色
     c. 检查sqlnet.ora是否为SQLNET.AUTHENTICATION_SERVICES= (NTS)
     d. 输入sqlplus /@remote_xcldb 就可以登录

   当然如果是用administrator用户测试,就没这么麻烦。

三。禁用远程操作系统认证
  a.alter system set remote_os_authent=false scope=spfile;
  b.重启数据库

四。如何禁用OS认证用户登录    
      在$ORACLE_HOME/network/admin/sqlnet.ora 加上下面的语句设为NONE即可。   
   SQLNET.AUTHENTICATION_SERVICES=(NONE)
   Windows和UNIX/Linux都这样做。

五。给sqlnet.ora文件提高安全等级
  chown root:root sqlnet.ora
  chmod 744 sqlnet.ora
  这样,以后只有root用户可以更改里面的值了.

简洁流程:
   远程客户端发起连接 --> 检查库是否可远程连接(remote_os_authent = true) 
--> 检查是否可使用密码文件(remote_login_passwordfile = EXCLUSIVE) --> 检查密码文件
--> 检查 sqlnet.ora可否用os认证用户 ( AUTHENTICATION_SERVICES != NONE) 
--> 检查OS认证用户名是否存在 --> 核对密码 -->登录成功.


MAIL: xcl_168@aliyun.com

BLOG: http://blog.csdn.net/xcl168



Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

C compilation conditionnelle du langage: un guide détaillé pour les débutants vers des applications pratiques C compilation conditionnelle du langage: un guide détaillé pour les débutants vers des applications pratiques Apr 04, 2025 am 10:48 AM

C La compilation conditionnelle du langage est un mécanisme pour compiler sélectivement les blocs de code en fonction des conditions de temps de compilation. Les méthodes d'introduction incluent: l'utilisation des directives #IF et #ELSE pour sélectionner des blocs de code en fonction des conditions. Les expressions conditionnelles couramment utilisées incluent STDC, _WIN32 et Linux. Cas pratique: imprimez différents messages en fonction du système d'exploitation. Utilisez différents types de données en fonction du nombre de chiffres du système. Différents fichiers d'en-tête sont pris en charge selon le compilateur. La compilation conditionnelle améliore la portabilité et la flexibilité du code, ce qui le rend adaptable aux modifications du compilateur, du système d'exploitation et de l'architecture du processeur.

Pouvez-vous utiliser Tauri pour développer des applications de bureau si vous ne connaissez pas la rouille? Pouvez-vous utiliser Tauri pour développer des applications de bureau si vous ne connaissez pas la rouille? Apr 04, 2025 pm 11:42 PM

L'impact de la maîtrise du langage de la rouille sur le développement du programme de bureau dans le cadre de Tauri Tauri est un cadre de développement d'applications de bureau construit à l'aide de la rouille, grâce à son poids léger et ...

Comment utiliser des fichiers de police installés localement sur les pages Web? Comment utiliser des fichiers de police installés localement sur les pages Web? Apr 05, 2025 pm 10:57 PM

Comment utiliser des fichiers de police installés localement sur les pages Web avez-vous rencontré cette situation dans le développement de pages Web: vous avez installé une police sur votre ordinateur ...

Quelles sont les raisons et les solutions pour le fichier serveur qui ne peuvent pas être téléchargées après la configuration SFTP.json? Quelles sont les raisons et les solutions pour le fichier serveur qui ne peuvent pas être téléchargées après la configuration SFTP.json? Apr 04, 2025 pm 06:54 PM

Solution au problème que le fichier serveur ne peut pas être téléchargé après la configuration SFTP.json Après avoir configuré le fichier SFTP.json, les utilisateurs peuvent rencontrer l'incapacité de télécharger le fichier du serveur cible ...

La différence entre H5 et mini-programmes et applications La différence entre H5 et mini-programmes et applications Apr 06, 2025 am 10:42 AM

H5. La principale différence entre les mini programmes et l'application est: Architecture technique: H5 est basé sur la technologie Web, et les mini-programmes et l'application sont des applications indépendantes. Expérience et fonctions: H5 est légère et facile à utiliser, avec des fonctions limitées; Les mini-programmes sont légers et ont une bonne interactivité; Les applications sont puissantes et ont une expérience fluide. Compatibilité: H5 est compatible multiplateforme, les applets et les applications sont limités par la plate-forme. Coût de développement: H5 a un faible coût de développement, des mini-programmes moyens et une application la plus élevée. Scénarios applicables: H5 convient à l'affichage d'informations, les applets conviennent aux applications légères et les applications conviennent aux fonctions complexes.

Comment contrôler le haut et la fin des pages dans les paramètres d'impression du navigateur via JavaScript ou CSS? Comment contrôler le haut et la fin des pages dans les paramètres d'impression du navigateur via JavaScript ou CSS? Apr 05, 2025 pm 10:39 PM

Comment utiliser JavaScript ou CSS pour contrôler le haut et la fin de la page dans les paramètres d'impression du navigateur. Dans les paramètres d'impression du navigateur, il existe une option pour contrôler si l'écran est ...

Comment intercepter un saut de balises et personnaliser la logique de saut dans CKEditor5? Comment intercepter un saut de balises et personnaliser la logique de saut dans CKEditor5? Apr 05, 2025 pm 01:00 PM

Intercepter une balise saute et personnaliser la logique de saut dans CKEditor5 après avoir utilisé CKEditor5 Rich Text Editor et ajouté des plugins de lien et de liaison automatique, le lien généré ...

Comment résoudre les avertissements qui apparaissent lors de l'utilisation de @layer? Comment résoudre les avertissements qui apparaissent lors de l'utilisation de @layer? Apr 05, 2025 pm 01:42 PM

Comment résoudre les avertissements qui apparaissent lors de l'utilisation de @layer? Vous pouvez rencontrer certains avertissements lorsque vous utilisez les règles @Layer pour CSS, bien que le style ait pris effet. Selon vous ...

See all articles