ホームページ データベース mysql チュートリアル Oracle操作系统认证用户的安全性

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

Jun 07, 2016 pm 03:30 PM
oracle 安全性 オペレーティング·システム ユーザー 認証

一。什么是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



このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Linuxは実際に何に適していますか? Linuxは実際に何に適していますか? Apr 12, 2025 am 12:20 AM

Linuxは、サーバー、開発環境、埋め込みシステムに適しています。 1.サーバーオペレーティングシステムとして、Linuxは安定して効率的であり、多くの場合、高電流アプリケーションの展開に使用されます。 2。開発環境として、Linuxは効率的なコマンドラインツールとパッケージ管理システムを提供して、開発効率を向上させます。 3.埋め込まれたシステムでは、Linuxは軽量でカスタマイズ可能で、リソースが限られている環境に適しています。

Oracle Dynamic SQLを作成する方法 Oracle Dynamic SQLを作成する方法 Apr 12, 2025 am 06:06 AM

SQLステートメントは、Oracleの動的SQLを使用して、ランタイム入力に基づいて作成および実行できます。手順には、次のものが含まれます。動的に生成されたSQLステートメントを保存するための空の文字列変数を準備します。 executeを即座に使用するか、ステートメントを準備して、動的なSQLステートメントをコンパイルおよび実行します。バインド変数を使用して、ユーザー入力またはその他の動的値を動的SQLに渡します。実行するか、実行するか、動的SQLステートメントを実行します。

Oracle Loopでカーソルを作成する方法 Oracle Loopでカーソルを作成する方法 Apr 12, 2025 am 06:18 AM

Oracleでは、forループループは動的にカーソルを作成できます。手順は次のとおりです。1。カーソルタイプを定義します。 2。ループを作成します。 3.カーソルを動的に作成します。 4。カーソルを実行します。 5。カーソルを閉じます。例:カーソルをサイクルごとに作成して、上位10人の従業員の名前と給与を表示できます。

オラクルにトリガーの使用方法 オラクルにトリガーの使用方法 Apr 11, 2025 pm 11:57 PM

Oracleのトリガーは、特定のイベント(挿入、更新、または削除)後に操作を自動的に実行するために使用されるストアドプロシージャです。これらは、データ検証、監査、データメンテナンスなど、さまざまなシナリオで使用されています。トリガーを作成するときは、トリガー名、アソシエーションテーブル、トリガーイベント、トリガー時間を指定する必要があります。トリガーには2種類のタイプがあります。操作前にトリガーが起動され、後のトリガーが操作後に起動されます。たとえば、挿入前のトリガーは、挿入された行の年齢列が負でないことを保証します。

MACシステムを発明した人 MACシステムを発明した人 Apr 12, 2025 pm 05:12 PM

MacOSオペレーティングシステムはAppleによって発明されました。その前身であるSystem Softwareは1984年に発売されました。多くの反復後、2001年にMac OS Xに更新され、2012年に名前をMacosに変更しました。

Oracleデータベースを停止する方法 Oracleデータベースを停止する方法 Apr 12, 2025 am 06:12 AM

Oracleデータベースを停止するには、次の手順を実行します。1。データベースに接続します。 2。すぐにシャットダウンします。 3.シャットダウンは完全に中止します。

Oracle Libraryの故障を削除する方法 Oracle Libraryの故障を削除する方法 Apr 12, 2025 am 06:21 AM

Oracleがライブラリの構築に失敗した後、失敗したデータベースを削除する手順:SYSユーザー名を使用してターゲットインスタンスに接続します。ドロップデータベースを使用して、データベースを削除します。クエリv $データベースデータベースが削除されていることを確認します。

DebianがHadoopデータ処理速度を改善する方法 DebianがHadoopデータ処理速度を改善する方法 Apr 13, 2025 am 11:54 AM

この記事では、DebianシステムのHadoopデータ処理効率を改善する方法について説明します。最適化戦略では、ハードウェアのアップグレード、オペレーティングシステムパラメーターの調整、Hadoop構成の変更、および効率的なアルゴリズムとツールの使用をカバーしています。 1.ハードウェアリソースの強化により、すべてのノードが一貫したハードウェア構成、特にCPU、メモリ、ネットワーク機器のパフォーマンスに注意を払うことが保証されます。高性能ハードウェアコンポーネントを選択することは、全体的な処理速度を改善するために不可欠です。 2。オペレーティングシステムチューニングファイル記述子とネットワーク接続:/etc/security/limits.confファイルを変更して、システムによって同時に開くことができるファイル記述子とネットワーク接続の上限を増やします。 JVMパラメーター調整:Hadoop-env.shファイルで調整します

See all articles