問題タブ [pam]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - 変数は PAM 認証システムをどのように通過するか
アプリケーション A が PAM サービス「myapp」を呼び出し、PAM サービス「myapp」が pam モジュールpam_exec.so ( auth required pam_exec.so myscript
) を使用して外部シェル スクリプトを呼び出すように構成されている場合:
Q:変数 (特にユーザー名/パスワード) はどのように渡されますか:
アプリケーション A --> PAM サービス "myapp" --> pam_exec.so --> myscript
c++ - pam_ldap で現在の PAM ユーザーを取得する方法は?
C/c++ で pam_ldap によって認証されたユーザー名を取得するにはどうすればよいですか? 「pam_get_user」API を見つけましたが、この関数の pam_handle_t を取得するにはどうすればよいですか?
ありがとうDma
authentication - Web2pyでのコマンドライン認証
web2pyを使用してプロジェクトのWebインターフェイスを作成し、pamを使用してログインを構成しました。今、私は同じためのCLIを作成する必要があります。ユーザーを認証する方法が見つかりませんでした(認証したいユーザーは、pamで構成され、web2pyを実行しているLinuxマシンにすでにログインしていると想定できます)。
active-directory - 想定されていないときにパスワードをキャッシュする Pam_ldap
サーバーで pam_ldap を使用して LDAP 認証をセットアップしましたが、最初は問題なく動作しているように見えましたが、問題が発生しました。ユーザーが Active Directory でパスワードを変更するたびに、LDAP と正常に同期するため、古いパスワードを受け入れるこのサーバーを除いて、LDAP 認証を使用するすべてのシステムと同期します。
「getent passwd」を試してみたところ、LDAP 内のすべてのユーザーが一覧表示されました。また、LDAP に新しいユーザーを追加しようとしましたが、「getent passwd」を再試行するとサーバーがすぐに認識しました。
どうやら私のサーバーはLDAPと通信しているようですが、サーバーがどこかにキャッシュすることを選択した新しいパスワードに関してはそうではありません。
Google はまったく役に立ちませんでした。一部の人々は同様の問題を抱えているようですが、彼らの質問には常に答えがありません。
誰かが助けてくれることを願っています。
ssh - ssh の PAM モジュール: ユーザーが認証にキーまたはパスワードを使用しているかどうかを知る方法
ssh サービス用の PAM モジュールを作成しています。ユーザーがパスワードまたはキーを使用して自分自身を認証しているかどうかを PAM モジュール内で判断する方法を知りたいです。
ご協力いただきありがとうございます。回答をお待ちしております。! !
c - PAM を使用してクリアテキストでユーザーパスワードを取得する方法は?
他のアプリケーションによるさらなるトランザクションのために、ユーザー名/パスワードをファイルに書き込む PAM モジュールを作成しています。PAM_AUTHTOK アイテムしか見たことがありませんが、どのタイプのものかわかりません。クリアテキストのパスワードを取得する方法または別の方法を知っている人はいますか?
linux - LinuxでのPAMを使用した認証。一部のユーザーからの実行に失敗する可能性があるのはなぜですか?
私は、PAMを一般的な方法で使用してユーザーを認証するための簡単なアプリケーションを作成しました:pam_start()
、pam_authenticate()
+自分の会話関数+ pam_end()
。
資格情報を確認しているユーザーでアプリケーションを実行すると、認証に成功します。それ以外の場合、アプリケーションをユーザーから実行してユーザーA
の資格情報を確認するB
と、認証は失敗します。((
私の質問:なぜですか?渡されたサービス名としてもpam_start()
試してみました。何も変わっていません。問題をデバッグするために進むべき方向はどれですか?または、別のpamサービスを使用してタスクを実行する必要がありますか?login
passwd
2番目の場合のpsユーザー「A」は、パスワードと/ bin/falseシェルを持たないユーザーです。
php - パスワードを MySQL に安全に保存しながら、PAM からアクセス可能
MD5関数のみを使用して(ソルトなしで)パスワードを保存するPHPアプリケーションがあります。同じデータベースからユーザーを認証 するためにpam-mysql
を使用するように OpenSSH を設定しました。
ハッシュ化されたパスワードを使用するように切り替えたいと考えており、次のいずれかを検討していmd5($salt."$".$password)
ますhash("sha256", $salt."$".$password)
。
問題は、pam-mysql が crypt(3) をサポートしているかどうか、またはサポートしている代替の pam モジュールをサポートしているかどうかがわからないことです。
crpyt(3)
はユーザー提供のアルゴリズムと salt:crypt('password', '$5$saltstring$')
をsha256
使用します$5$saltstring$OH4IDuTlsuTYPdED1gsuiRMyTAwNlRWyA6Xr3I4/dQ5
。crypt(3)
ライブラリを使用するすべての言語は、その文字列を認識sha256
し、指定されたハッシュを使用して指定された結果を期待することを認識します。
最初の方法で十分ですか、それとも MySQL と crypt(3) をサポートする PAM モジュールがいくつかありますか?
linux - ログインしようとしているユーザーのユーザー名を知っている
ユーザーがログインしようとすると、pamモジュールがルートとしてbashスクリプトを実行します。誰がログインしようとしているかを知るために、このスクリプトが必要です。
ただし、ユーザーはまだ接続されていないため、users/w/who ... などの基本的なコマンドはここでは機能しません。
ログインしようとしているユーザーのユーザー名を取得する可能性はありますか?
ありがとうございました。シルビル
java - ネイティブ(C)ポインタをオブジェクトインスタンスに保持し、後でクリーンアップします
私のプロジェクトの1つとして、Java用の完全なPAM実装を実装したいと思います(アプリケーション側とモジュール側も)。
現在、私はアプリケーション側にいます。私はjpamをベースとして使用しましたが、問題に遭遇しました。数時間検索しても、問題の解決策が見つかりません:/
これは現在のコードです:
ここで必要なのは、pamh
のすべてのインスタンスの参照を保持することですPamHandle
。これはどのように行われますか?
編集:OK、私はこれに対する答えを持っています、そして今クリーンアップの部分があります:finalize()
それからネイティブのクリーンアップメソッドを呼び出すために使用しますsuper.finalize();
か、それとも私が実装できる/しなければならないGCによってトリガーされるJNI関数がありますか?