MySQL 5.1 リファレンスマニュアル :: 4 データベース管理 :: 4.6 セキュリティ問題 :: 4.6.3 セキュリティ関連の mysqld オプション
« 4.6.2 MySQL のクラッカー対策

4.6.4 LOAD DATA LOCAL のセキュリティ関連事項 »
Section Navigation      [Toggle]
  • 4.6 セキュリティ問題
  • 4.6.1 セキュリティ ガイドライン
  • 4.6.2 MySQL のクラッカー対策
  • 4.6.3 セキュリティ関連の mysqld オプション
  • 4.6.4 LOAD DATA LOCAL のセキュリティ関連事項
  • 4.6.5 ユーザによる MySQL の実行

4.6.3. セキュリティ関連の mysqld オプション

次の mysqld オプションはセキュリティに影響します。

  • --allow-suspicious-udfs

    メイン関数しか持っていないユーザ定義関数をロードすることが出来るかどうかを制御する。(xxxという名前のユーザ関数を定義するとき。) デフォルトでは、このオプションはオフで、少なくとも一つの追加関数を持ったユーザ定義関数だけをロードできる。これによって、不正なユーザ定義関数がロードされる危険性を防ぐ。詳細は 項25.3.4.6. 「User-Defined Function Security Precautions」 を参照。

  • --local-infile[={0|1}]

    --local-infile=0 を使用すると、クライアントで LOAD DATA ステートメントの LOCAL を使用できなくなる。 項4.6.4. 「LOAD DATA LOCAL のセキュリティ関連事項」 を参照のこと。

  • --old-passwords

    新たなパスワードに古いパスワード形式でのハッシュの生成を強制する。(MySQL 4.0 以前のパスワードを強制する。) これは、サーバが古いクライアント プログラムをサポートする必要がある場合に有用である。詳細は 項4.7.9. 「MySQL 4.1 のパスワードハッシュ」 を参照。

  • --safe-show-database (OBSOLETE)

    前バージョンの MySQL では、このオプションが SHOW DATABASES ステートメントに影響し、どのユーザにどのような権限が与えられているかを示すデータベース名を表示していた。MySQL 5.1 では、このオプションはデフォルトで使用不可としています。 ユーザ毎にデータベース名へのアクセスを制御することができるものは SHOW DATABASES 権限が存在します。項12.5.1.3. 「GRANT 構文」 を参照のこと。

  • --safe-user-create

    このオプションが有効になっている場合、ユーザに mysql.user テーブルへの INSERT 権限がなければ、そのユーザは GRANT コマンドを使用して新規 MySQ Lユーザを作成できない。事前設定された権限で新規ユーザを作成できるようにするには、対象ユーザに以下の権限を設定する。

    GRANT INSERT(user) ON mysql.user TO 'user_name'@'host_name';
    

    これで、ユーザは権限カラムを直接変更できないが、GRANT コマンドを使用して他のユーザに権限を与えることができるようになる。

  • --secure-auth

    4.1 より前のパスワードでのアクセスを認証しない。

    mysql クライアントには、--secure-auth オプションもあり、これは、サーバがそのクライアントに対して古い形式のパスワードを要求する場合に、サーバへの接続を拒否する。

  • --skip-grant-tables

    サーバが一切の権限システムを使用しないようにする。これによりすべての人が、すべてのデータベースにアクセスできる ようになる。実行中のサーバに権限テーブルの使用を再開するには、mysqladmin flush-privileges または mysqladmin reload をシステム シェルから実行する。またはサーバ接続後に MySQL FLUSH PRIVILEGES ステートメントを発行する。このオプションは、プラグインとユーザ定義関数 (UDF) のロードを抑圧する。

  • --skip-merge

    MERGE ストレージ エンジンを無効化する (MySQL 5.1.12 での追加)。ユーザに MyISAM テーブル t にアクセスできる場合に、そのユーザが、t へアクセスする MERGE テーブル m を作成できる。しかし、t でのこのユーザ権限が連続して呼び出だすときは、m を経由して、t へアクセスを継続できる。

  • --skip-name-resolve

    ホスト名を決定できない。権限テーブルの Host カラム値すべてが、IP アドレスまたは localhost である必要がある。

  • --skip-networking

    TCP/IP 経由の接続を認めない。mysqld への接続をすべて Unix ソケットで行う。

  • --skip-show-database

    ユーザが SHOW DATABASES 権限を持っていない場合に、SHOW DATABASES コマンドを無効にする。ステートメントはすべてのデータベース名を表示する。このオプションをセットしない場合、SHOW DATABASES はすべてのユーザが利用できるようになるが、ユーザが SHOW DATABASES 権限、またはそのデータベースに関する何らかの権限を持っているときには、それぞれのデータベース名だけが表示される。注意:すべての グローバル権限がデータベースに対する権限として扱われる。

  • --ssl*

    --ssl で始まるオプションで、SSL経由での接続をクライアントに許可するかどうかを指定し、SSL キーと証明書 がどこにあるかを示す。詳細は 項4.8.7.3. 「SSL コマンド オプション」 を参照。

Copyright © 1997, 2010, Oracle and/or its affiliates. All rights reserved. Legal Notices
Top / Previous / Next / Up / Table of Contents
© 2010, Oracle Corporation and/or its affiliates