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 を参照