vfs_scannedonly — ウイルス検査済みのファイルだけを エンドユーザーに表示・アクセスできるようにする
vfs objects = scannedonly
このVFSモジュールは samba(8)システムの一部である。
vfs_scannedonly
VFS モジュールはエンドユーザーに対して
ウィルス検査を実施したファイルのみを表示・アクセス可能する。
ウィルス検査をしていないファイルが見つけると、ウィルススキャンデーモンに通知する。
ウィルススキャンデーモンは Samba の一部ではない。
scanreadonly は、Samba VFS モジュールと(1つ以上の)デーモンで構成される。
デーモンはファイルをスキャンし、ファイルが汚染されていなければ
スキャンしたファイルの名前にプレフィックス .scanned:
を付加したファイルを生成する。Samba モジュールは、単に
プレフィックス .scanned:
が付いたファイルが存在するか、
また、対応するファイルよりも新しいかを見る。もしもその場合は、
ファイルはユーザーに見えるようになる。そうでない場合は、ファイルは
ディレクトリの一覧表示に現われなくなり(設定可能)、オープンできなくなる(設定可能)。
Samba VFS モジュールはそのファイルをスキャンするようにデーモンに通知する。
これが、既定値の設定でユーザーに対して行われることである。最初にディレクトリ 一覧が表示された時、ファイルはウィルススキャン中のように表示されるが、 そのあとは、すべてのファイルが表示される。すべてのディレクトリをあらかじめ スキャンするために役立つscannedonly_prescanユーティリティが用意されている。 新しいファイルが作成された時、デーモンへは、ファイルへの書き込みが完了後に 引き続いて通知される。
もしもデーモンによって、ウィルスが発見された場合、警告メッセージを含む
ファイルがユーザーのディレクトリ中に作成され、警告がログに書き込まれ、ファイルは
.virus:
というプレフィックスを持つ名前に改名される。
.virus:
プレフィックスを持つファイルはユーザーには決して
見えず、アクセスは拒否される。
このモジュールはスタック可能である。
UNIXドメインソケットを使うか否かの指定(Falseはudpを使う)
接続するUNIXドメインソケットの位置
接続するUDPポート番号
UDP使用時、スキャンデーモンが動作するホスト (このホストはファイルへのアクセスを必要とする!)
ユーザーに対して見えるべきソケット、デバイスとfifo (すべてウィルスチェックを行わない)かどうかの指定
見せないファイル(.scanned:
ファイル、
.failed:
ファイルと.virus:
ファイル)は、もしもユーザーがディスクから削除しようと
した時に、見えないファイルを削除すべきかどうかの指定。もしも
偽ならば、ユーザーは"ディレクトリが空ではありません"というエラーが
生じる。
もしも偽ならば、すべてのスキャンされないファイルはディレクトリ 一覧表示で見えるようになる。もしも、そのようなファイルが ディレクトリ一覧中に見つかった場合、スキャンデーモンに スキャンが要求されたと通知する。スキャンされないファイルへの アクセスは引き続き拒否される(scannedonly:allow_nonscanned_files を参照のこと)。
もしも、スキャンされないファイルが隠し状態 (scannedonly:hide_nonscanned_files = Trueの場合)、見かけ上 0バイトのファイルが表示される。ファイル名はサフィックスとして メッセージとオリジナルのファイル名を結合したものである。
スキャンされないファイルがオープンしていた場合、vfs
モジュールは、.scanned:
ファイルを作成するために、
スキャンデーモンに対して、recheck_tries_open回、recheck_time_open
ミリ秒待つ。時間内(*回再試行)にデーモンによってスキャンされる
小さなファイルは、その動作がアクセス後とのスキャニングのように
振る舞う。
recheck_time_openを参照。
もしも、スキャンされないファイルがディレクトリ一覧表示中にあるならば、 vfsモジュールはデーモンに通知し(そのディレクトリ中のものは、 すべてスキャンが必要と一回は通知する)、recheck_tries_readdir回 recheck_time_readdirミリ秒待つ。hide_nonscanned_filesが偽の 時にのみ使われる。
recheck_time_readdirを参照。
スキャンされないファイルへのアクセスを認める。しかし、デーモンには
通知されるが、それは.scanned:
のような特別な
ファイルである。.virus:
ファイルと
.failed:
ファイルは一覧表示されない。