ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris のシステム管理 (ネットワークサービス) Oracle Solaris 11 Information Library (日本語) |
パート II ネットワークファイルシステムへのアクセス (トピック)
1 つのクライアントに対するマウントアクセスを無効にする方法
ファイアウォールを越えて NFS ファイルシステムをマウントする方法
NFS URL を使用して NFS ファイルシステムをマウントする方法
フェデレーテッドファイルシステムサーバーの DNS レコードの設定
mount コマンドを使用してクライアント上で異なるバージョンの NFS を選択する方法
DH 認証を使用して Secure NFS 環境を設定する方法
ファイアウォール経由で WebNFS アクセスを有効にする方法
SMF パラメータを使用して autofs 環境を設定する方法
autofs で CD-ROM アプリケーションにアクセスする方法
autofs で PC-DOS データフロッピーディスクにアクセスする方法
複数のホームディレクトリファイルシステムで /home を設定する方法
共有名前空間にアクセスするために異なるアーキテクチャーを設定する方法
非互換のクライアントオペレーティングシステムのバージョンをサポートする方法
1 つの NFS クライアントの autofs ブラウズ機能を完全に無効にする方法
6. ネットワークファイルシステムへのアクセス (リファレンス)
この節では、ユーザー自身の環境で遭遇する可能性のあるもっとも一般的な作業について説明します。各シナリオについて、ユーザーのクライアントで必要とする条件に最も適合するように autofs を設定するために推奨される手順も示します。
次の表に、autofs に関連する作業についての説明と参照箇所を示します。
表 5-5 autofs 管理の作業マップ
|
SMF パラメータを使用して autofs 環境を設定できます。特に、この機能は、autofs コマンドおよび autofs デーモンを設定する追加の方法を提供します。コマンド行で行うのと同じ指定を、sharectl コマンドで行うことができます。指定するには、キーワードに値を割り当てます。
次の手順は、sharectl コマンドを使用して autofs パラメータを管理する方法を示しています。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
たとえば、すべての autofs マウントポイントの表示をオフに設定する場合は、次のコマンドを使用します。
# sharectl set -p nobrowse=on autofs
nobrowse キーワードは、automountd コマンドの -n オプションと同等です。
次のコマンドを入力します。
# svcadm restart system/filesystem/autofs
次の表は、autofs マップの管理時に認識しておく必要のある事項について示しています。選択したマップのタイプおよびネームサービスにより、autofs マップへの変更を行うために使用する必要があるメカニズムが異なります。
表 5-6 autofs マップのタイプとその使用方法
|
次の表では、使用しているネームサービスごとの、autofs 環境の変更方法を示しています。
表 5-7 マップの保守
|
次の表に、マップのタイプに対して行なった修正に応じた automount コマンドの実行について示します。たとえば、直接 (direct) マップに対する追加または削除を行なった場合、ローカルシステム上で automount コマンドを実行する必要があります。automount コマンドを実行すると、変更が反映されます。ただし、既存のエントリを修正した場合は、変更を反映するために automount コマンドを実行する必要はありません。
表 5-8 automount コマンドを実行する場合
|
次の手順は、いくつかの種類のオートマウンタマップを更新する方法を示します。
マップを変更するために必要な具体的な手順は、使用しているネームサービスによって異なります。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
他のユーザーがコンピュータ上でスーパーユーザーとして automount コマンドを実行できるように、通知が必要になります。automount コマンドは、実行時にマスターマップから情報を収集することに注意してください。
マップを変更するために必要な具体的な手順は、使用しているネームサービスによって異なります。
マップを変更するために必要な具体的な手順は、使用しているネームサービスによって異なります。
必要に応じ、他のユーザーがコンピュータ上でスーパーユーザーとして automount コマンドを実行できるように、通知が必要になります。
注 - 既存の直接マップエントリの内容の変更だけを行なった場合は、automount コマンドを実行する必要はありません。
たとえば、異なるサーバーから /usr/src ディレクトリがマウントされるように auto_direct マップを修正するとします。/usr/src がその時点でマウントされていない場合、/usr/src にアクセスするとすぐにその新しいエントリが反映されます。/usr/src がその時点でマウントされている場合、オートアンマウントが実行されるまで待ちます。その後、アクセスが可能になります。
注 - できるだけ間接マップを使用してください。間接マップは構築が容易であり、コンピュータのファイルシステムへの要求が少なくて済みます。また、間接マップは直接マップよりもマウントテーブル内のスペースを必要としません。
/src 上にマウントされたローカルなディスクパーティションがあり、ほかのソースディレクトリのマウントにもその autofs サービスを使用する場合、問題が発生する可能性があります。マウントポイント /src を指定した場合、ユーザーがローカルパーティションにアクセスしようとするたびに、NFS サービスはそのローカルパーティションを非表示にします。
たとえば /export/src などの他の場所に、パーティションをマウントする必要があります。その後、次のようなエントリを /etc/vfstab に含める必要があります。
/dev/dsk/d0t3d0s5 /dev/rdsk/c0t3d0s5 /export/src ufs 3 yes -
このエントリは、auto_src にも必要です。
terra terra:/export/src
terra はコンピュータ名です。
autofs は NFS ファイル以外のファイルシステムもマウントすることができます。autofs は、フロッピーディスクや CD-ROM など、削除可能な媒体上のファイルをマウントします。通常は、Volume Manager を使って削除可能な媒体上のファイルをマウントすることになります。次の例では、autofs を利用してこのマウントがどのように行われるかを示します。Volume Manager と autofs は同時に動作することができないため、まず Volume Manager を終了してから次に示すエントリを使用する必要があります。
サーバーからファイルシステムのマウントを行う代わりに、ドライブに媒体を配置してマップから参照します。autofs を使用し非 NFS ファイルシステムにアクセスを行う場合は、次の手順を参照してください。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
次のような CD-ROM のファイルシステム用のエントリを追加します。
hsfs -fstype=hsfs,ro :/dev/sr0
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
次のようなフロッピーディスクのファイルシステム用のエントリを追加します。
pcfs -fstype=pcfs :/dev/diskette
オートマウンタマップの設定方法はいくつかあります。次に、オートマウンタマップをカスタマイズして簡単に使用できるディレクトリ構造を実現する方法について詳細に説明します。
すべてのネットワークユーザーにとっての理想は、自分自身のホームディレクトリ、または他の人のホームディレクトリを /home の下に配置できるようにすることです。この表示方法は通常、クライアントでもサーバーでも、すべてのコンピュータを通じて共通です。
Oracle Solaris をインストールすると、常にマスターマップ /etc/auto_master もインストールされます。
# Master map for autofs # +auto_master /net -hosts -nosuid,nobrowse /home auto_home -nobrowse
auto_home 用のマップも、/etc の下にインストールされます。
# Home directory map for autofs # +auto_home
外部 auto_home マップに対する参照を除き、このマップは空になります。/home 下のディレクトリをすべてのコンピュータに対して共通にする場合、この /etc/auto_home マップは修正しないでください。すべてのホームディレクトリのエントリは、ネームサービスファイルで表示されるべきです。
注 - ユーザーは、各ホームディレクトリから setuid 実行可能ファイルを実行することが許可されていません。この制限がないと、すべてのユーザーがすべてのコンピュータ上でスーパーユーザーの権限を持つことになります。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
システムに複数のパーティションがある場合は、/export/home1、/export/home2 のように、別のディレクトリにそれぞれインストールを行います。
新しいユーザーアカウントを作成する場合は、そのユーザーのホームディレクトリの場所を auto_home マップに入力します。マップのエントリは、次のように単純な形式にすることができます。
rusty dragon:/export/home1/& gwenda dragon:/export/home1/& charles sundog:/export/home2/& rich dragon:/export/home3/&
マップキーの代替となる & (アンパサンド) の使い方に注意してください。このアンパサンドは、次の例の 2 つ目の rusty の使用を省略した形式です。
rusty dragon:/export/home1/rusty
auto_home マップを配置すると、ユーザーは、/home/user というパスを使用して、ユーザー自身のホームディレクトリを含むあらゆるホームディレクトリを参照できます。user はログイン名で、マップ内でのキーになります。すべてのホームディレクトリを共通に表示するしくみは、他のユーザーのコンピュータにログインする場合に便利です。autofs は、ユーザー自身のホームディレクトリをマウントします。同様に、他のコンピュータ上でリモートのウィンドウシステムクライアントを実行するとウィンドウシステムクライアントと同じ /home ディレクトリが表示されます。
この共通表示は、サーバーにも拡張されています。前の例を使用すれば、rusty がサーバー dragon にログインする場合、autofs は、/export/home1/rusty を /home/rusty にループバックマウントすることにより、ローカルディスクへの直接アクセスを提供します。
ユーザーは、各ホームディレクトリの実際の位置を意識する必要はありません。rusty がさらにディスク容量を必要とし、自身のホームディレクトリを他のサーバーに再配置する必要がある場合には、単純な変更で十分です。新しい場所を反映するように auto_home マップ内の rusty のエントリを変更することだけが必要になります。他のユーザーは、/home/rusty パスを継続して使用することができます。
大規模なソフトウェア開発プロジェクトの管理者を想定してください。そこで、プロジェクト関連のファイルをすべて /ws というディレクトリの下で利用できるようにすると仮定します。このようなディレクトリは、そのサイトのすべてのワークステーションで共通である必要があります。
/ws auto_ws -nosuid
auto_ws マップが、/ws ディレクトリの内容を決定します。
このオプションは、すべての作業空間に存在する可能性のある setuid プログラムをユーザーが実行できないようにします。
auto_ws マップは、各エントリがサブプロジェクトを記述するように構成されています。最初の操作により、マップが次のようになります。
compiler alpha:/export/ws/& windows alpha:/export/ws/& files bravo:/export/ws/& drivers alpha:/export/ws/& man bravo:/export/ws/& tools delta:/export/ws/&
各エントリの最後のアンパサンド (&) は、エントリキーを省略したものです。たとえば、最初のエントリは次のエントリと同じ意味です。
compiler alpha:/export/ws/compiler
この最初の操作により、マップはシンプルなものになりますが、このマップでは不十分です。プロジェクトのオーガナイザーが、man エントリ内のドキュメントを各サブプロジェクトの下のサブディレクトリとして提供しようとしているとします。さらに、各サブプロジェクトは、ソフトウェアの複数のバージョンを記述するために、複数のサブディレクトリを必要とします。この場合、サーバー上のディスクパーティション全体に対して、これらのサブディレクトリをそれぞれ割り当てる必要があります。
次のように、マップ内のエントリを修正してください。
compiler \ /vers1.0 alpha:/export/ws/&/vers1.0 \ /vers2.0 bravo:/export/ws/&/vers2.0 \ /man bravo:/export/ws/&/man windows \ /vers1.0 alpha:/export/ws/&/vers1.0 \ /man bravo:/export/ws/&/man files \ /vers1.0 alpha:/export/ws/&/vers1.0 \ /vers2.0 bravo:/export/ws/&/vers2.0 \ /vers3.0 bravo:/export/ws/&/vers3.0 \ /man bravo:/export/ws/&/man drivers \ /vers1.0 alpha:/export/ws/&/vers1.0 \ /man bravo:/export/ws/&/man tools \ / delta:/export/ws/&
現在のマップはかなり長くなっていますが、まだ 5 つのエントリを含んでいるだけです。各エントリは、複数のマウントがあるために長くなっています。たとえば、/ws/compiler に対する参照は、vers1.0、vers2.0、および man ディレクトリ用に 3 つのマウントを必要とします。各行の最後のバックスラッシュは、エントリが次の行まで続いていることを autofs に伝えるものです。実際、エントリは 1 つの長い行となっていますが、行ブレークやインデントのいくつかはエントリを読みやすくする目的で使用されています。tools ディレクトリには、すべてのサブプロジェクトに対するソフトウェア開発ツールが含まれているため、同じサブディレクトリ構造の対象とはなっていません。tools ディレクトリは単一のマウントのままです。
この配置は、システムの管理者に大きな柔軟性を提供します。ソフトウェアプロジェクトでは、非常に大きなディスクスペースを消費します。プロジェクトのすべての過程を通じて、さまざまなディスクパーティションを再配置し、拡張することになる可能性もあります。このような変更が auto_ws マップに反映される場合は、/ws 下のディレクトリ階層構造が変更されることもなく、ユーザーに対する通知の必要はありません。
サーバー alpha と bravo が同一の autofs マップを参照するため、それらのコンピュータにログインするすべてのユーザーは期待通りに /ws 名前空間を確認できます。このようなユーザーには、NFS マウントではなく、ループバックマウントを通じてのローカルファイルへの直接アクセスが提供されます。
表計算アプリケーションやワードプロセッサパッケージのようなローカルの実行可能ファイルやアプリケーションについて、共有名前空間を作成する必要があります。この名前空間のクライアントは、異なる実行可能フォーマットを必要とする複数の異なるワークステーションアーキテクチャーを使用します。また、ワークステーションには、異なるリリースのオペレーティングシステムを使用するものもあります。
『Oracle Solaris Administration: Naming and Directory Services 』を参照してください。
この名称により、その名前空間に属するファイルとディレクトリが簡単に識別できるようになります。たとえば、その名称として /usr/local を選択した場合、/usr/local/bin パスは明らかにこの名前空間の一部です。
autofs 間接マップを /usr/local にマウントします。NIS の auto_master マップ内で、次のエントリを設定します。
/usr/local auto_local -ro
なお、-ro マウントオプションは、クライアントがファイルやディレクトリのすべてに対して書き込みができないことを示してます。
ディレクトリ構造は、次のようになります。
bin aa:/export/local/bin
bin aa:/export/local/bin/$CPU
SPARC クライアント – 実行可能ファイルを /export/local/bin/sparc に配置します。
x86 クライアント – 実行可能ファイルを /export/local/bin/i386 に配置します。
autofs OSREL 変数と CPU 変数を結合して、CPU タイプと OS リリースの両方を示す名前を作成することができます。
bin aa:/export/local/bin/$CPU$OSREL
SunOS 5.6 を動作させているクライアントについて、次のファイルシステムをエクスポートします。
SPARC クライアント – /export/local/bin/sparc5.6 をエクスポートします。
x86 クライアント – /export/local/bin/i3865.6 に実行可能ファイルを配置します。
読み取り専用の複製されたファイルシステムを共有する最良の方法は、フェイルオーバーの利用です。フェイルオーバーについての説明は、「クライアント側フェイルオーバー機能」を参照してください。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
すべての複製サーバーのリストを、コンマ区切りのリストとして、次のように作成します。
bin aa,bb,cc,dd:/export/local/bin/$CPU
autofs は、最も近いサーバーを選択します。サーバーが複数のネットワークインタフェースを持っている場合は、各インタフェースのリストを作成してください。autofs はクライアントに最も近接したインタフェースを選択し、NFS トラフィックの不必要なルーティングを避けるようにしています。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
/home auto_home -nosuid
nosuid オプションは、setuid または setgid ビットを設定したファイルをユーザーが作成できないようにします。
このエントリは、汎用ローカルファイル /etc/auto_master 内の /home のエントリを無効にします。前述の例を参照してください。これは、+auto_master が、ファイル内の /home エントリより先に、外部のネームサービスマップを参照するためです。auto_home マップ内のエントリにマウントオプションがある場合、nosuid オプションは無効になります。そのため、auto_home マップ内でオプションを使用しないようにするか、nosuid オプションを各エントリに含める必要があります。
注 - サーバー上の /home またはその下に、ホームディレクトリのディスクパーティションをマウントしないでください。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
/usr/local -ro,public bee:/export/share/local
public オプションは、公開ハンドルの使用を強制します。NFS サーバーが公開ファイルハンドルをサポートしない場合、マウントは失敗します。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
/usr/local -ro nfs://bee/export/share/local
サービスは、NFS サーバー上で公開ファイルハンドルの使用を試みます。サーバーが公開ファイルハンドルをサポートしない場合、MOUNT プロトコルが使用されます。
インストールされるデフォルト版の /etc/auto_master の /home と /net に対するエントリには、-nobrowse オプションが追加されています。さらに、アップグレード手順により、/home と /net のエントリが修正されていない場合は、-nobrowse オプションがそれらのエントリに追加されます。ただし、このような変更を手動で加えるか、あるいはインストール後にサイト固有の autofs マウントポイントに対するブラウズ機能をオフにすることが必要な場合もあります。
ブラウズ機能をオフにする方法はいくつかあります。automountd デーモンに対してコマンド行オプションを使用してブラウズ機能を無効にすると、そのクライアントに対する autofs ブラウズ機能は完全に無効になります。あるいは、autofs マップを使用して、すべてのクライアントにおける各マップエントリのブラウズ機能を無効にします。また、ネットワーク規模の名前空間を使用していない場合は、ローカルな autofs を使用して、各クライアントにおける各マップエントリのブラウズ機能を無効にすることができます。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。
# sharectl set -p nobrowse=TRUE autofs
# svcadm restart system/filesystem/autofs
すべてのクライアントに対するブラウズ機能を無効にするには、NIS のようなネームサービスを使用する必要があります。それ以外の場合には、各クライアント上でオートマウンタマップを手動で編集する必要があります。この例では、/home ディレクトリのブラウズ機能が無効にされています。無効にする必要がある各間接 autofs ノードに対して、この手順を実行してください。
/home auto_home -nobrowse
新規の動作は、クライアントシステム上で automount コマンドを実行した後、またはリブートした後に反映されます。
# /usr/sbin/automount
この例では、/net ディレクトリのブラウズ機能を無効にします。/home または他の autofs マウントポイントにも、同じ手順を使用できます。
name-service/switch サービスの config/automount プロパティーは、自動マウント情報の検索順序を示します。
# svcprop -p config svc:/system/name-service/switch config/value_authorization astring solaris.smf.value.name-service.switch config/printer astring user\ files config/default astring files\ nis config/automount astring files\ nis
最後のエントリは、ローカルの自動マウントファイルが最初に検索され、次に NIS サービスが確認されることを示しています。config/default エントリは、明示的に一覧表示されていないすべての名前情報の検索順序を指定します。
名前空間内のエントリに優先するローカルファイルへの追加については、+auto_master エントリが /net の下に移動されている必要があります。
# Master map for automounter # /net -hosts -nosuid /home auto_home /xfn -xfn +auto_master
標準的な構成では、+auto_master エントリがファイルの先頭に配置されます。このように配置することにより、ローカルな変更が使用されなくなります。
/net -hosts -nosuid,nobrowse
新規の動作は、クライアントシステム上で automount コマンドを実行した後、またはリブートした後に反映されます。
# /usr/sbin/automount