autofs は 3 種類のマップを使用します。
マスターマップ
直接マップ
間接マップ
auto_master マップは、ディレクトリをマップに関連付けます。このマップは、すべてのマップを指定するマスターリストであり、autofs が参照します。次の例は auto_master ファイルに含まれている可能性のある情報のタイプを示しています。
使用例 2-1 /etc/auto_master ファイルの例# Master map for automounter # +auto_master /net -hosts -nosuid,nobrowse /home auto_home -nobrowse /nfs4 -fedfs -ro,nosuid,nobrowse /- auto_direct -ro
この例では、汎用の auto_master ファイルに auto_direct マップのための追加が行われています。マスターマップ /etc/auto_master の各行は、次の構文に従っています。
mount-point map-name [ mount-options ]
ディレクトリのフル (絶対) パス名です。このディレクトリが存在しない場合、可能ならば autofs はこのディレクトリを作成します。このディレクトリが存在し、しかも空ではない場合、マウントすることによってその内容が隠されます。この場合、autofs は警告を出します。
マウントポイントとして /- を指定すると、この特定のマップが直接マップであり、マップに関連付けられている特定のマウントポイントがないことを表します。
位置に対する指示またはマウント情報を検出するために autofs が使用するマップの名前です。この名前がスラッシュ (/) で始まる場合、autofs はこの名前をローカルファイルとして解釈します。それ以外の場合、autofs はネームサービススイッチ構成ファイル (/etc/nsswitch.conf) で指定される検索を使用してマウント情報を検索します。また、/net には、特別なマップを使用します。詳細は、/net マウントポイント を参照してください。
(オプション) map-name で指定されたエントリのマウントに適用されるオプションのコンマ区切りリスト (map-name のエントリがほかのオプションをリストしている場合を除く)。特定タイプのファイルシステムのオプションについては、そのファイルシステムの mount のマニュアルページを参照してください。NFS 固有のマウントオプションについては、mount_nfs(1M) のマニュアルページを参照してください。NFS 固有のマウントポイントの場合、bg (バックグラウンド) オプションと fg (フォアグラウンド) オプションは適用されません。
# で始まる行はコメントです。その行のテキストの最後まですべて無視されます。
長い行を短い行に分割するには、行末にバックスラッシュ (\) を入力します。入力できる文字数の上限は 1024 です。
/home マウントポイントは、/etc/auto_home (間接マップ) にリストされたエントリがマウントされるディレクトリです。
autofs は、ホストデータベースのみを使用する特殊な組み込みマップ -hosts 内の全エントリを /net ディレクトリの下にマウントします。たとえば、hosts データベースにあるコンピュータ system1 が、そのファイルシステムをエクスポートするとします。次のコマンドを入力すると、現在のディレクトリがコンピュータ gumbo のルートディレクトリに変更されます。
# cd /net/gumbo
autofs はホスト system1 のエクスポート済みファイルシステム (つまり、ローカルディスク上のそれらのファイルシステムではなく、ネットワークユーザーが使用できるサーバー上のそれらのファイルシステム) だけをマウントできます。したがって、system1 上のすべてのファイルおよびディレクトリを /net/system1 から使用できるとは限らないこともあります。
/net を使用したアクセスでは、サーバー名はパスの中に指定されるため、位置に依存します。したがって、エクスポートされるファイルシステムを別のサーバーに移動すると、そのパスは使用できなくなります。代わりに、/net を使用するのでなく、マップ内でそのファイルシステムに対応するエントリを設定することをお勧めします。
/nfs4 マウントポイントは、擬似マップを使用して FedFS ドメインルートをマウントします。/nfs4/example.net を参照すると、ドメインルートで DNS ドメイン example.net を検索し、その場所でマウントしようとします。/nfs4 の下でパスをマウントするには、FedFS サーバー用の DNS レコードの設定 で説明されているとおり、DNS サーバーがレコードを返す必要があります。
直接マップは自動マウントポイントです。つまり、直接マップによって、クライアント上のマウントポイントとサーバー上のディレクトリが直接対応付けられます。直接マップにはフルパス名があり、明示的に関係を示します。次の例に典型的な /etc/auto_direct マップを示します。
/usr/local -ro \ /bin system1:/export/local/sun4 \ /share system1:/export/local/share \ /src system1:/export/local/src /usr/man -ro system2:/usr/man \ system3:/usr/man \ system4:/usr/man /usr/games -ro system5:/usr/games /usr/spool/news -ro system6:/usr/spool/news \ system4:/var/spool/news
key [ mount-options ] location
直接マップ内のマウントポイントのパス名。
この特定のマウントに適用するオプション。これらのオプションが必要なのは、マップのデフォルトと異なる場合だけです。特定タイプのファイルシステムのオプションについては、そのファイルシステムの mount のマニュアルページを参照してください。NFS 固有のマウントオプションについては、mount_nfs(1M) のマニュアルページを参照してください。
ファイルシステムの場所。NFS ファイルシステムの場合、1 つまたは複数のファイルシステムが server:pathname として指定されます。
マスターマップと同様、# で始まる行はコメントです。その行のテキストの最後まですべて無視されます。長い行を短い行に分割するには、行の最後にバックスラッシュを入力します。
すべてのマップにおいて、直接マップ内のエントリは、/etc/vfstab 内の対応するエントリにもっともよく似ています。/etc/vfstab のエントリは、次のようになっているとします。
dancer:/usr/local - /usr/local/tmp nfs - yes ro
直接マップ内では、同じエントリが次のようになります。
/usr/local/tmp -ro dancer:/usr/local
直接 autofs マップの機能については、autofs がクライアント用のもっとも近い読み取り専用ファイルを選択する方法 (複数ロケーション) を参照してください。
Example 2–1 の /- マウントポイントは、auto_direct 内のエントリを特定のマウントポイントに関連付けないように autofs に指示します。間接マップは、auto_master ファイルに定義されたマウントポイントを使います。直接マップの場合は、名前付きマップ内で指定したマウントポイントを使用します。直接マップ内では、鍵、つまりマウントポイントはフルパス名です。
NIS の auto_master ファイルには、直接マップのエントリは 1 つしか存在できません。マウントポイントは 1 つの名前空間の中で一意の値にする必要があるためです。auto_master がローカルファイルならば、重複しないかぎり直接マップのエントリがいくつあってもかまいません。
間接マップは、鍵の置換値を使って、クライアント上のマウントポイントとサーバー上のディレクトリとの間の関連付けを確立します。間接マップは、ホームディレクトリなどの特定のファイルシステムをアクセスするのに便利です。auto_home マップは間接マップの一例です。
key [ mount-options ] location
間接マップでのスラッシュ (/) のない名前。
この特定のマウントに適用するオプション。これらのオプションが必要なのは、マップのデフォルトと異なる場合だけです。特定タイプのファイルシステムのオプションについては、そのファイルシステムの mount のマニュアルページを参照してください。たとえば、NFS 固有のマウントオプションについては、mount_nfs(1M) のマニュアルページを参照してください。
ファイルシステムの場所。1 つまたは複数のファイルシステムを server: pathname として指定します。
マスターマップと同様、# で始まる行はコメントです。その行のテキストの最後まですべて無視されます。長い行を短い行に分割するには、行の最後にバックスラッシュ (\) を入力します。Example 2–1 に、次のエントリを含む auto_master マップを示します。
/home auto_home -nobrowse
auto_home は、/home の下にマウントされるエントリを含む間接マップの名前です。通常、auto_home マップには、次のパスが含まれています。
user1 server1:/export/home/user1 user2 server2:/export/home/user2 user3 server3:/export/home/user3 user4 server4:/export/home/user4 user5 server5:/export/home/user5 user6 server6:/export/home/user6 user7 -rw,nosuid server7:/export/home/user7
例として、前のマップがホスト master-server にあると想定します。パスワードデータベースに、ユーザー user7 のホームディレクトリを /home/user7 として指定するエントリがあるとします。user7 がコンピュータ master-server にログインするたびに、autofs は、コンピュータ server7 に常駐するディレクトリ /export/home/user7 をマウントします。彼女のホームディレクトリは、読み書き可能な nosuid にマウントされます。
次の状況が発生したと想定してください。ユーザー user7 のホームディレクトリがパスワードデータベースに、/home/user7 としてリストされます。user7 も含むだれでもが、auto_home マップを参照するマスターマップで設定された任意のコンピュータからこのパスにアクセスできます。
これらの状況では、ユーザー user7 はこれらのコンピュータのいずれかで login や rlogin を実行し、自分のホームディレクトリを所定の場所にマウントさせることができます。
さらに、user7 はここで次のコマンドを入力することもできます。
# cd ~user1
autofs は user1 のために user7 のホームディレクトリをマウントします (すべてのアクセス権が許可する場合)。
ネームサービスのないネットワークで、Linda が自分のファイルにアクセスすることを許可するには、ネットワーク上のすべてのシステムで、すべての関連ファイル (/etc/passwd など) を変更する必要があります。NIS では、NIS マスターサーバーで変更を行い、関連するデータベースをスレーブのデータベースに伝達します。