総合手引 | セクション 3 | オプション |
skeylookup() は、一時のパスワードデータベースでエントリを検出します。 処理が成功すると(指定の名前に対応するエントリが検出されると)、 呼び出し元によって渡された skey 構造が埋められ 0 が返されます。 ファイルの読み取り/書き込みポインタは検出されたレコードの先頭に配置されます。 指定の名前に対応するエントリが見つからない場合は、 ファイルの読み取り/書き込みポインタがファイルの末尾に配置され、 ルーチンは 1 を返します。 データベースが開けない場合、またはアクセスエラーが発生する場合、 skeylookup() は -1 を返します。
skeyinfo() 関数は、ユーザ「名」用の skey 情報をルックアップします。 処理が成功すると、呼び出し元の skey 構造が埋められ、 skeyinfo() は 0 を返します。 オプションのチャレンジストリングバッファが与えられた場合は、それが更新されます。 処理が失敗すると(たとえば、名前が未知の場合、または データベースにアクセスできない場合)、-1 が返されます。
skeychallenge() は、「名前」についての skey チャレンジストリングを返します。 処理が成功すると、呼び出し元の skey 構造が埋められ、関数は 0 を 返します。ファイル読み取り/書き込みポインタは レコードの先頭に残されます。 処理が成功しないと(すなわち、名前が見つからないと)、関数は -1 を返し、データベースは閉じられます。
skeyverify() は、s/key チャレンジへの応答を検証します。 この関数が 0 を返した場合、検証は成功であり、 データベースはアップデートされています。 1 が返された場合、検証は処理失敗し、データベースは変化しないままです。 -1 が返された場合、何らかの種類のエラーがデータベースについて発生しており、 データベースは変化しないままです。 s/key データベースは必ずこの呼び出しによって閉じられます。
skey_getpass() 関数を使用して、正規のパスワードまたは s/key パスワードを 読み取ることができます。 使用するプロンプトは、関数に渡されます。ユーザが 検証できる完全な(安全な) struct passwd と一緒にです。 skey_getpass() は、ユーザのパスワードを取り出そうとする最初の試みにおいて標準ライブラリ getpass を使用し、それがブランクの場合、エコーバックして S/Key パスワード を取り出します。 いずれの場合でも、入力したストリングは呼び出し元に 返されます。
skey_crypt() は、標準ライブラリ crypt(3) 用のラッパ関数です。 これは、指定の s/key パスワードまたは正規のパスワードのどちらかが OK の場合、暗号化された UNIX パスワードを返します。 skey_crypt() は、最初に skey 方式によって指定パスワードの確認を試み、 それが確認できる場合は、ユーザが正しい UNIX パスワードを実際に 入力したかのように、passwd 構造から暗号化されたパスワードを返します。 s/key パスワード検証が機能しない場合、 パスワードは通常の方法で暗号化され、結果は呼び出し元に渡されます。 passwd 構造ポインタが NULL の場合、 skey_crypt() は、NULL でないストリングを返します。このストリングは有効な UNIX パスワードとは言えません(すなわち、「:」の入ったストリングです)。
skeyaccess() 関数は、ユーザ名、グループメンバ、端末ポート、ホスト名、および ネットワークの組み合わせについて、従来の UNIX (S/Key でない) パスワードが使用できるかどうかを判定します。UNIX パスワードが使用できる場合、 skeyaccess() は、ゼロでない値を返します。UNIX パスワードが使用できない場合、 0 を返します。 この関数が使用する skey.access 構成ファイルのレイアウトと構造の詳細については、 skey.access(5) を参照してください。
SKEY (3) | December 22, 1996 |
総合手引 | セクション 3 | オプション |
このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.
“ | Hang in there, people suffering from natural disasters and deadly diseases - we're putting ribbons on our cars as fast as we can | ” |
— Artur Bagyants |