6

他のアプリケーションによるさらなるトランザクションのために、ユーザー名/パスワードをファイルに書き込む PAM モジュールを作成しています。PAM_AUTHTOK アイテムしか見たことがありませんが、どのタイプのものかわかりません。クリアテキストのパスワードを取得する方法または別の方法を知っている人はいますか?

4

3 に答える 3

3

Linux-PAM アプリケーション開発者ガイドを読みましたか? RHEL タイプのシステムでは、これは にあります。または、さまざまな場所でオンラインで/usr/share/doc/pam-devel-<version>/Linux-PAM_ADG.txt見つけることができます。

関数について説明している「PAM アイテムの取得」セクションを参照してくださいpam_get_item()PAM_AUTH_TOK定数を使用してパスワードを要求できます。

PAM_AUTHTOK

The authentication token (often a password). This token should be ignored
by all module functions besides pam_sm_authenticate(3) and pam_sm_chauthtok
(3). In the former function it is used to pass the most recent
authentication token from one stacked module to another. In the latter
function the token is used for another purpose. It contains the currently
active authentication token.
于 2011-10-11T13:39:27.620 に答える
0

デバッグ中に PAM_AUTHTOK の内容を出力するだけではどうですか? それを有意義に使用するには、とにかくモジュール間の何らかの契約または規則が必要です。

ところで、クリアテキストのパスワードをメモリに保持し、そこからできるだけ早く消去する (または、RAM のその領域をロックするか、スワップを暗号化する) ことと、そのクリアテキストのパスワードをディスクに書き込むことには違いがあります。後者は非常に安全ではありません。そうしないでください。

于 2011-12-30T17:00:13.650 に答える