.\" .\" Copyright (c) 1997-1998 Erez Zadok .\" Copyright (c) 1989 Jan-Simon Pendry .\" Copyright (c) 1989 Imperial College of Science, Technology & Medicine .\" Copyright (c) 1989 The Regents of the University of California. .\" All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Jan-Simon Pendry at Imperial College, London. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" %Id: hlfsd.8,v 1.4 1999/08/18 05:54:47 chris Exp % .\" .\" HLFSD was written at Columbia University Computer Science Department, by .\" Erez Zadok and Alexander Dupuy .\" It is distributed under the same terms and conditions as AMD. .\" .\" jpman %Id: hlfsd.8,v 1.3 1999/01/01 14:22:00 vanitas Stab % .\" .Dd September 14, 1993 .Dt HLFSD 8 .Os .Sh 名称 .Nm hlfsd .Nd ホームリンクファイルシステムデーモン .Sh 書式 .Nm .Op Fl fhnpvC .Op Fl a Ar alt_dir .Bk -words .Op Fl c Ar cache-interval .Ek .Op Fl g Ar group .Bk -words .Op Fl i Ar reload-interval .Ek .Op Fl l Ar logfile .Bk -words .Op Fl o Ar mount-options .Op Fl x Ar log-options .Op Fl D Ar debug-options .Op Fl P Ar password-file .Ek .Op linkname Op subdir .Sh 解説 .Nm は、ユーザのホームディレクトリ内のサブディレクトリを指すシンボリックリンク を含むファイルシステムを実装したデーモンです。そのリンクはアクセスしたユーザに 応じて変化します。これは主に、到着したメールをユーザのホームディレクトリに リダイレクトし、どこからでも読めるようにするために設計されました。 .Pp .Nm は .Ar linkname を含むディレクトリ (デフォルトは .Pa /hlfs/home ) に対する .Tn NFS サーバとして自分自身をマウントして動作します。 このディレクトリに対する検索 (lookup) は .Nm が処理し、その検索をどのように解決するかを決定するために パスワードマップを使います。ディレクトリは、存在しなかった場合には作成 されます。シンボリックリンクは、それをアクセスしたユーザの ホームディレクトリに .Ar subdir をつけたものになります。 .Ar subdir が指定されなかった場合の、 .Ar subdir のデフォルトは .Pa .hlfsdir です。このディレクトリも、存在しなかった場合には作成されます。 .Pp .Er SIGHUP を送ると、内部キャッシュのフラッシュを行い、パスワードマップの再読み込みを 行います。また、ログファイルをクローズし、オープンしなおして、 以前のログファイルを消去したり交換します。 .Er SIGUSR1 を送ると、ユーザ ID とホームディレクトリの内部テーブルを .Pa /usr/tmp/hlfsd.dump.XXXXXX にダンプします。 .Sh オプション .Bl -tag -width Ds .It Fl a Ar alt_dir 代わりのディレクトリです。ユーザのホームディレクトリにアクセスできない場合に、 .Nm が返すシンボリックリンクが指すディレクトリの名前です。デフォルトは .Pa /var/hlfs です。このディレクトリは存在しなければ作成されます。ユーザがこのファイルを 読む、またはシステム管理者がこの .Dq lost mail をその所有者に送り直すスクリプトを走らせるということが期待されます。 .It Fl c Ar cache-interval キャッシュする間隔です。 .Nm はこの間隔 (秒単位) でホームディレクトリの有効性をキャッシュします。 .Ar cache-interval 秒以内に確認されたことのあるエントリは再確認されません。 それは、その操作のコストが高く、 そのエントリがまだ有効であることが十分に期待できるからです。 その間隔がたつと、 .Nm はユーザのホームディレクトリの有効性をふたたび確認し、キャッシュの タイムカウンタをリセットします。 デフォルトの .Ar cache-interval は 300 秒 .Pq 5 分 です。 .It Fl f 高速に起動させます。 .Nm マウントディレクトリ、代わりのスプールディレクトリ、マウントディレクトリ下に 隠れているシンボリックリンクが存在すること、そのパーミッション、そして その有効性といった起動時の一貫性チェックを、このオプションが与えられたとき にはスキップします。 .It Fl g Ar group 特殊グループ .Va HLFS_GID を .Ar group に設定します。 .Ic comsat .Pq ほかのユーザのメールボックスにアクセスする といったプログラムは正常に動作するためには .Va HLFS_GID に setgid しておかねばなりません。デフォルトのグループは .Dq hlfs です。グループが与えられなくて、 .Dq hlfs というグループが存在しないなら、この機能は無効になります。 .It Fl h ヘルプです。短いヘルプメッセージを表示し、終了します。 .It i Ar reload-interval マップを再読み込みする間隔です。 .Ar reload-interval 秒ごとに .Nm はパスワードマップを再読み込みします。 .Nm はユーザ ID とホームディレクトリのパスを知るために、パスワードマップが必要です。 .Nm は .Va SIGALRM を用いてパスワードマップを再読み込みします。 .Va SIGHUP を送ると、 .Nm はマップをすぐに再読み込みします。 .Ar reload-interval のデフォルトは 900 秒 .Pq 15 分 です。 .It Fl l Ar logfile .Nm がイベントを記録するログファイルを指定します。 .Pa logfile が文字列 .Pa syslog であれば、 .Xr syslog 3 によって、システムログデーモンに .Va LOG_DAEMON ファシリティでログメッセージが送られます。 これはデフォルトです。 .It Fl n 確認しません。 .Nm は返すシンボリックリンクの有効性、またユーザのホームディレクトリに スプールするために十分なディスクスペースがあることを確認しません。 これによって、 .Nm は、現在アクセスできないか、容量がいっぱいであるホームディレクトリへの シンボリックリンクを返すかもしれないという犠牲を払って、スピードアップ します。 デフォルトで、 .Nm はバックグラウンドでシンボリックリンクを確認します。 キャッシュは必要ないので、 .Fl n オプションは .Fl c オプションの意味を無効にします。 .It Fl o Ar mount-options マウントオプションです。 .Nm が .Pa dirname のトップで、自分自身をマウントするために使われるマウントオプションです。 デフォルトで、 .Ar mount-options は .Qq ro に設定されています。 システムがシンボリックリンクのキャッシュをサポートしているのなら、 デフォルトオプションは .Qq ro,nocache に設定されます。 .It Fl p .Va プロセス ID を表示します。 ファイルに保存できるように、標準出力に .Nm のプロセス ID を出力します。 .It Fl v バージョンです。標準エラー出力にバージョン情報を出力します。 .It Fl x Ar log-options 実行時にログをとるためのオプションを指定します。このオプションは、 fatal, error, user, warn, info, map, stats, all から選ばれた コンマ区切りのリストです。 .It Fl C NFS attribute-cache を無効にできないシステムで .Nm を実行させます。メールが失われたり、誤配送されることになりかねないので、 そのようなシステムで、このオプションを用いることは推奨されていません。 attribute-cache を無効にできるシステムではこのオプションは無視されます。 .It Fl D Ar debug-options いろいろなデバッグオプションを選びます。オプションの接頭辞として .Qq no という文字列がついていると、そのオプションの効果を反転させます。 オプションは追加されます。 もっとも便利なオプションは .Em all です。このオプションはデバッグのためだけに使われるので、 そのほかのオプションはここには記しません。 より詳細な解説はプログラムのソースにあります。 .Va SIGUSR1 を送ると .Nm は、内部パスワードマップを .Pa /usr/tmp/hlfsd.dump.XXXXXX にダンプします。 .It Fl P Ar password-file .Ar password-file からユーザ名、ユーザ ID、ホームディレクトリの情報を読みます。 通常 .Nm は、 .Xr getpwent 3 でパスワードのデータベースを読みます。このオプションによりデフォルトの データベースを無効にすることができ、ホームディレクトリ以外にユーザの メールをマップしたいときに便利です。 .Ar password-file のユーザ名、ユーザ ID、ホームディレクトリのフィールドだけを読み、 チェックします。ほかのすべてのフィールドは無視されます。 .Ar password-file は .Ux System 7 のコロン区切りのフォーマット .Xr passwd 5 に従わなければなりません。 .Sh 関連ファイル .Bl -tag -width /axx .It Pa /hlfs .Nm が自分自身をマウントし、シンボリックリンク .Pa home を処理するディレクトリです。 .It Pa .hlfsdir ユーザのホームディレクトリ内のデフォルトのサブディレクトリで、 .Nm が返したシンボリックリンク .Pa home のリンク先です。 .It Pa /var/hlfs ユーザのホームディレクトリがアクセスできるかどうか確認できないときの、 .Nm が返したシンボリックリンク .Pa home のリンク先です。 .Sh 関連項目 .Xr mail 1 , .Xr getgrent 3 , .Xr getpwent 3 , .Xr mtab 5 , .Xr passwd 5 , .Xr amd 8 , .Xr automount 8 , .Xr cron 8 , .Xr mount 8 , .Xr sendmail 8 , .Xr umount 8 .Rs .%T HLFSD: Delivering Email to Your $HOME .%B Proc. LISA-VII, The 7th Usenix System Administration Conference .%D November 1993 .Re .Sh 作者 .An Erez Zadok Aq ezk@cs.columbia.edu , Department of Computer Science, Columbia University, New York, USA. .Pp .An Alexander Dupuy Aq dupuy@smarts.com , System Management ARTS, White Plains, New York, USA. .Sh 歴史 .Nm ユーティリティは .Fx 3.0 で登場しました。