afp_logintest

afp_logintest — AFP認証とDSIセッションテストスイート

概要

afp_logintest [-1234567CmVv] [-f test] [-h host] [-p port] [-s volume] [-u user] [-w password]

afp_logintest -l

説明

afp_logintest は、DSIセッションとAFPクライアントからの認証のためのテストスイートである。 AFPサーバーとのDSIセッションを確立するための様々なハッピーパステストとコーナーケーステストを実行し、 利用可能なUAM(ユーザ認証メソッド)を使用してユーザー認証を行う。

組み込みのログインテストでは、NetatalkのネイティブテストスイートAFPクライアントを使用して、生のDSIセッションのカバレッジ、誤ったプロトコルのカバレッジ、および直接的なUAMログインチェックを行う。

Netatalkがlibafpclient対応のUAMテストでビルドされている場合、afp_logintest は選択された各UAMをlibafpclientに対してチェックするUAMマトリックスも実行する。選択されたlibafpclient UAMごとに、テストはUAMがlibafpclientに知られているかどうか、サーバーがそれを広告しているかどうか(発見可能な場合)、提供された資格情報でログインが成功するかどうか、意図的に間違ったパスワードで資格情報付きUAMのログインが失敗するかどうか、ログイン後に小さな認証済みAFPスモークリクエストが成功するかどうかをチェックする。

オプション

-1 : AFP 2.1プロトコルバージョンを使用する

-2 : AFP 2.2プロトコルバージョンを使用する

-3 : AFP 3.0プロトコルバージョンを使用する

-4 : AFP 3.1プロトコルバージョンを使用する

-5 : AFP 3.2プロトコルバージョンを使用する

-6 : AFP 3.3プロトコルバージョンを使用する

-7 : AFP 3.4プロトコルバージョンを使用する

-C : 端末出力でANSIカラーをオフにする

-f test : 特定のテストを実行する。libafpclient対応のUAMテストがコンパイルされている場合、 test は -l でリストされる短いUAMセレクタの1つ、または完全なUAMプロトコル名である可能性がある。

-h host : サーバーのホスト名またはIPアドレス(デフォルト: localhost)

-l : 利用可能なテストの一覧を表示する。libafpclient対応のUAMテストがコンパイルされている場合、 これにより利用可能なUAMセレクタもリストされる。

-m : AppleShare (Mac) AFP サーバー互換モードでテストを実行する

-p port : サーバーポート番号(デフォルト: 548)

-u user : AFPサーバーの認証用のユーザー名(デフォルト: 現在のuid)

-v : 詳細出力

-V : 超詳細出力

-w password : AFPサーバーの認証用のパスワード

前提条件

ゲスト認証とクリアテキスト認証をテストするには、それぞれ uams_guest と uams_clrtxt.so UAM を使用するように netatalk を設定する必要がある。下記事例の通り、netatalk の afp.conf で UAM を設定する。

[Global]
uam list = uams_clrtxt.so uams_guest.so

その他のテストでは、追加のUAMを設定する必要がある場合がある。どのテストがUAMの不足のために失敗したかの詳細については、テスト出力を参照すること。

さらに、非ゲスト認証をテストするには、ユーザー名とパスワードをテストランナーに渡す必要がある。

libafpclient対応のUAMマトリックス全体を実行するには、サーバーをすべての必要なUAMで構成する。例:

[Global]
uam list = uams_guest.so uams_clrtxt.so uams_randnum.so uams_dhx.so uams_dhx2.so uams_srp.so

Randnum および SRP のテストには、対応するサーバー側の資格情報ファイルが必要である。それらのファイルを管理するには、afppasswd(1) を使用すること。

例

利用可能なすべてのテストを一覧表示する。libafpclient対応のUAMテストがコンパイルされている場合は、それも含まれる。

$ afp_logintest -l
Available tests. Run individually with the -f option.
test_dsi_getstatus_no_session
test_dsi_open_close_session
test_dsi_open_session_ignore_param
test_dsi_command_roundtrip
test_connection_limit
test_guest_login
test_cleartext_login
test_loginext_guest_direct
test_logincont_roundtrip
guest      No User Authent (libafpclient UAM)
cleartext  Cleartxt Passwrd (libafpclient UAM)
randnum    Randnum Exchange (libafpclient UAM)
randnum2   2-Way Randnum Exchange (libafpclient UAM)
dhx        DHCAST128 (libafpclient UAM)
dhx2       DHX2 (libafpclient UAM)
srp        SRP (libafpclient UAM)

SRP UAMテストのみを実行する:

$ afp_logintest -h localhost -u afpuser -w secret -f srp
UAM srp (SRP) - PASSED (login, smoke, and failure checks passed)
=====================
TEST RESULT SUMMARY
---------------------
Passed:     1
Skipped:    0
Failed:     0
Not tested: 0

終了ステータス

0 : すべての選択されたテストが成功したか、スキップされた

1 : 少なくとも1つの選択されたテストが失敗した。

2 : 選択されたテストは失敗しなかったが、少なくとも1つの選択されたテストは、 セットアップまたはUAMサポートが利用できなかったため、実行できなかった。

関連項目

afp_lantest(1), afp_spectest(1), afparg(1), afppasswd(1), afpd(8), afp.conf(5)

著者

CONTRIBUTORS を参照